From e21dab42d0a140da8d831e91636003511c56b88d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 01:38:37 +0000 Subject: [PATCH 1/2] chore(deps): update dependency just-the-docs to "~> 0.7.0" (#227) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 75f9c73..61469d2 100644 --- a/Gemfile +++ b/Gemfile @@ -4,4 +4,4 @@ source "https://rubygems.org/" # here are only used for local development. Update the versions when needed to # match GitHub Pages, see https://pages.github.com/versions for more info. gem "github-pages", "~> 228" -gem "just-the-docs", "~> 0.6.0" \ No newline at end of file +gem "just-the-docs", "~> 0.7.0" \ No newline at end of file From 91fbb47703cb72106594837282e2a62e415dd43a Mon Sep 17 00:00:00 2001 From: Mattias Kindborg Date: Wed, 8 Nov 2023 10:05:46 +0100 Subject: [PATCH 2/2] docs: consolidate acap3 (#232) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: pataxis Co-authored-by: Patrik Åkesson <66364872+pataxis@users.noreply.github.com> --- README.md | 9 +- _config.yml | 9 +- _layouts/acap_sdk_version_3.html | 12 + _sass/color_schemes/axis-colors.scss | 5 +- _sass/color_schemes/axis.scss | 10 +- docs/acap-sdk-version-3/api/index.md | 428 ++ .../api/src/api/axaudio/examples/LICENSE | 1 + .../api/src/api/axaudio/examples/Makefile | 22 + .../api/src/api/axaudio/examples/README | 2 + .../src/api/axaudio/examples/axaudioexample.c | 236 + .../api/src/api/axaudio/examples/package.conf | 25 + .../api/src/api/axaudio/html/annotated.html | 84 + .../api/src/api/axaudio/html/annotated_dup.js | 6 + .../html/ax__audio__config_8h_source.html | 78 + .../html/ax__audio__datatypes_8h_source.html | 84 + .../api/axaudio/html/ax__audio__error_8h.html | 163 + .../api/axaudio/html/ax__audio__error_8h.js | 18 + .../html/ax__audio__error_8h_source.html | 90 + .../html/ax__audio__output_8h_source.html | 82 + .../html/ax__audio__utils_8h_source.html | 78 + .../api/src/api/axaudio/html/axaudio_8h.html | 1416 +++++ .../api/src/api/axaudio/html/axaudio_8h.js | 46 + .../api/axaudio/html/axaudio_8h_source.html | 119 + .../html/axaudioexample_8c-example.html | 78 + .../api/src/api/axaudio/html/axis-logo.png | Bin 0 -> 2757 bytes .../api/src/api/axaudio/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/axaudio/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/axaudio/html/classes.html | 86 + .../api/src/api/axaudio/html/closed.png | Bin 0 -> 130 bytes .../api/axaudio/html/common_8h_source.html | 81 + .../src/api/axaudio/html/customdoxygen.css | 79 + .../api/src/api/axaudio/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/axaudio/html/doxygen.css | 1596 +++++ .../api/src/api/axaudio/html/doxygen.png | Bin 0 -> 3811 bytes .../api/src/api/axaudio/html/dynsections.js | 97 + .../api/src/api/axaudio/html/examples.html | 81 + .../api/src/api/axaudio/html/examples.js | 4 + .../api/src/api/axaudio/html/files.html | 88 + .../api/src/api/axaudio/html/files.js | 10 + .../api/src/api/axaudio/html/folderclosed.png | Bin 0 -> 583 bytes .../api/src/api/axaudio/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/axaudio/html/globals.html | 239 + .../src/api/axaudio/html/globals_defs.html | 78 + .../src/api/axaudio/html/globals_enum.html | 84 + .../src/api/axaudio/html/globals_eval.html | 129 + .../src/api/axaudio/html/globals_func.html | 162 + .../src/api/axaudio/html/globals_type.html | 84 + .../api/src/api/axaudio/html/index.html | 77 + .../api/src/api/axaudio/html/jquery.js | 87 + .../api/src/api/axaudio/html/menu.js | 26 + .../api/src/api/axaudio/html/menudata.js | 18 + .../api/src/api/axaudio/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/axaudio/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/axaudio/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/axaudio/html/navtree.css | 146 + .../api/src/api/axaudio/html/navtree.js | 517 ++ .../api/src/api/axaudio/html/navtreedata.js | 31 + .../api/src/api/axaudio/html/navtreeindex0.js | 103 + .../api/src/api/axaudio/html/open.png | Bin 0 -> 121 bytes .../api/src/api/axaudio/html/resize.js | 114 + .../api/src/api/axaudio/html/splitbar.png | Bin 0 -> 301 bytes .../axaudio/html/struct__AXAudioFrame.html | 98 + .../api/axaudio/html/struct__AXAudioFrame.js | 7 + .../axaudio/html/struct__AXAudioOutput.html | 98 + .../api/axaudio/html/struct__AXAudioOutput.js | 7 + .../axaudio/html/struct__AXAudioStream.html | 116 + .../api/axaudio/html/struct__AXAudioStream.js | 13 + .../api/src/api/axaudio/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/axaudio/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/axaudio/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/axaudio/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/axaudio/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/axaudio/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/axaudio/html/tabs.css | 1 + .../api/src/api/axevent/examples/Makefile | 13 + .../examples/element_item_example/LICENSE | 1 + .../examples/element_item_example/Makefile | 25 + .../ax_event_element_item_example.c | 149 + .../element_item_example/package.conf | 25 + .../examples/key_value_set_example1/LICENSE | 1 + .../examples/key_value_set_example1/Makefile | 25 + .../ax_event_key_value_set_example1.c | 88 + .../key_value_set_example1/package.conf | 25 + .../examples/key_value_set_example2/LICENSE | 1 + .../examples/key_value_set_example2/Makefile | 25 + .../ax_event_key_value_set_example2.c | 68 + .../key_value_set_example2/package.conf | 25 + .../LICENSE | 1 + .../Makefile | 25 + ...event_property_state_declaration_example.c | 102 + .../package.conf | 25 + .../LICENSE | 1 + .../Makefile | 25 + ..._state_declaration_from_template_example.c | 80 + .../package.conf | 25 + .../examples/send_event_example/LICENSE | 1 + .../examples/send_event_example/Makefile | 25 + .../ax_event_send_event_example.c | 121 + .../examples/send_event_example/package.conf | 25 + .../stateless_declaration_example/LICENSE | 1 + .../stateless_declaration_example/Makefile | 25 + .../ax_event_stateless_declaration_example.c | 94 + .../package.conf | 25 + .../LICENSE | 1 + .../Makefile | 25 + ...teless_declaration_from_template_example.c | 78 + .../package.conf | 25 + .../examples/subscription_example/LICENSE | 1 + .../examples/subscription_example/Makefile | 25 + .../ax_event_subscription_example.c | 117 + .../subscription_example/package.conf | 25 + .../src/api/axevent/html/ax__event_8h.html | 284 + .../api/src/api/axevent/html/ax__event_8h.js | 10 + .../api/axevent/html/ax__event_8h_source.html | 85 + .../html/ax__event__element__item_8h.html | 605 ++ .../html/ax__event__element__item_8h.js | 15 + .../ax__event__element__item_8h_source.html | 90 + .../api/axevent/html/ax__event__error_8h.html | 182 + .../api/axevent/html/ax__event__error_8h.js | 17 + .../html/ax__event__error_8h_source.html | 90 + .../axevent/html/ax__event__handler_8h.html | 587 ++ .../api/axevent/html/ax__event__handler_8h.js | 14 + .../html/ax__event__handler_8h_source.html | 91 + .../html/ax__event__key__value__set_8h.html | 981 ++++ .../html/ax__event__key__value__set_8h.js | 19 + .../ax__event__key__value__set_8h_source.html | 96 + .../api/axevent/html/ax__event__types_8h.html | 129 + .../api/axevent/html/ax__event__types_8h.js | 10 + .../html/ax__event__types_8h_source.html | 84 + ...ent_key_value_set_example1_8c-example.html | 77 + ...ent_key_value_set_example2_8c-example.html | 77 + ..._state_declaration_example_8c-example.html | 77 + ...tion_from_template_example_8c-example.html | 77 + ...teless_declaration_example_8c-example.html | 77 + ...tion_from_template_example_8c-example.html | 77 + ...event_subscription_example_8c-example.html | 77 + .../api/src/api/axevent/html/axevent_8h.html | 287 + .../api/axevent/html/axevent_8h_source.html | 78 + .../api/src/api/axevent/html/axis-logo.png | Bin 0 -> 2757 bytes .../api/src/api/axevent/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/axevent/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/axevent/html/closed.png | Bin 0 -> 130 bytes .../src/api/axevent/html/customdoxygen.css | 79 + .../api/src/api/axevent/html/deprecated.html | 83 + .../api/src/api/axevent/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/axevent/html/doxygen.css | 1596 +++++ .../api/src/api/axevent/html/doxygen.png | Bin 0 -> 3811 bytes .../api/src/api/axevent/html/dynsections.js | 97 + .../api/src/api/axevent/html/examples.html | 93 + .../api/src/api/axevent/html/examples.js | 10 + .../api/src/api/axevent/html/files.html | 88 + .../api/src/api/axevent/html/files.js | 10 + .../api/src/api/axevent/html/folderclosed.png | Bin 0 -> 583 bytes .../api/src/api/axevent/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/axevent/html/globals.html | 273 + .../src/api/axevent/html/globals_defs.html | 78 + .../src/api/axevent/html/globals_enum.html | 81 + .../src/api/axevent/html/globals_eval.html | 120 + .../src/api/axevent/html/globals_func.html | 201 + .../src/api/axevent/html/globals_type.html | 93 + .../api/src/api/axevent/html/index.html | 77 + .../api/src/api/axevent/html/jquery.js | 87 + .../api/src/api/axevent/html/menu.js | 26 + .../api/src/api/axevent/html/menudata.js | 20 + .../api/src/api/axevent/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/axevent/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/axevent/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/axevent/html/navtree.css | 146 + .../api/src/api/axevent/html/navtree.js | 517 ++ .../api/src/api/axevent/html/navtreedata.js | 29 + .../api/src/api/axevent/html/navtreeindex0.js | 103 + .../api/src/api/axevent/html/open.png | Bin 0 -> 121 bytes .../api/src/api/axevent/html/pages.html | 82 + .../api/src/api/axevent/html/resize.js | 114 + .../api/src/api/axevent/html/splitbar.png | Bin 0 -> 301 bytes .../api/src/api/axevent/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/axevent/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/axevent/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/axevent/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/axevent/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/axevent/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/axevent/html/tabs.css | 1 + .../api/src/api/axhttp/examples/LICENSE | 1 + .../api/src/api/axhttp/examples/Makefile | 45 + .../axhttp/examples/ax_http_serve_request.c | 119 + .../api/src/api/axhttp/examples/cgi.txt | 1 + .../api/src/api/axhttp/examples/package.conf | 25 + .../api/src/api/axhttp/html/annotated.html | 84 + .../api/src/api/axhttp/html/annotated_dup.js | 6 + .../api/axhttp/html/ax__http__error_8h.html | 154 + .../src/api/axhttp/html/ax__http__error_8h.js | 9 + .../html/ax__http__error_8h_source.html | 82 + .../api/axhttp/html/ax__http__handler_8h.html | 209 + .../api/axhttp/html/ax__http__handler_8h.js | 7 + .../html/ax__http__handler_8h_source.html | 82 + .../ax__http__handler__int_8h_source.html | 84 + .../html/ax__http__server__socket_8h.html | 206 + .../html/ax__http__server__socket_8h.js | 7 + .../ax__http__server__socket_8h_source.html | 82 + ...__http__server__socket__int_8h_source.html | 81 + .../axhttp/html/ax__http__util_8h_source.html | 78 + .../html/ax__http__util__int_8h_source.html | 78 + .../ax_http_serve_request_8c-example.html | 78 + .../api/src/api/axhttp/html/axhttp_8h.html | 121 + .../src/api/axhttp/html/axhttp_8h_source.html | 78 + .../api/src/api/axhttp/html/axis-logo.png | Bin 0 -> 2757 bytes .../api/src/api/axhttp/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/axhttp/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/axhttp/html/classes.html | 86 + .../api/src/api/axhttp/html/closed.png | Bin 0 -> 130 bytes .../api/src/api/axhttp/html/customdoxygen.css | 79 + .../api/src/api/axhttp/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/axhttp/html/doxygen.css | 1596 +++++ .../api/src/api/axhttp/html/doxygen.png | Bin 0 -> 3811 bytes .../api/src/api/axhttp/html/dynsections.js | 97 + .../api/src/api/axhttp/html/examples.html | 81 + .../api/src/api/axhttp/html/examples.js | 4 + .../api/src/api/axhttp/html/files.html | 89 + .../api/src/api/axhttp/html/files.js | 11 + .../api/src/api/axhttp/html/folderclosed.png | Bin 0 -> 583 bytes .../api/src/api/axhttp/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/axhttp/html/globals.html | 114 + .../api/src/api/axhttp/html/globals_defs.html | 78 + .../api/src/api/axhttp/html/globals_enum.html | 78 + .../api/src/api/axhttp/html/globals_eval.html | 81 + .../api/src/api/axhttp/html/globals_func.html | 90 + .../api/src/api/axhttp/html/globals_type.html | 87 + .../api/src/api/axhttp/html/index.html | 77 + .../api/src/api/axhttp/html/jquery.js | 87 + .../api/src/api/axhttp/html/menu.js | 26 + .../api/src/api/axhttp/html/menudata.js | 17 + .../api/src/api/axhttp/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/axhttp/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/axhttp/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/axhttp/html/navtree.css | 146 + .../api/src/api/axhttp/html/navtree.js | 517 ++ .../api/src/api/axhttp/html/navtreedata.js | 31 + .../api/src/api/axhttp/html/navtreeindex0.js | 60 + .../api/src/api/axhttp/html/open.png | Bin 0 -> 121 bytes .../api/src/api/axhttp/html/resize.js | 114 + .../api/src/api/axhttp/html/splitbar.png | Bin 0 -> 301 bytes .../axhttp/html/struct__AXHttpHandler.html | 98 + .../api/axhttp/html/struct__AXHttpHandler.js | 7 + .../html/struct__AXHttpServerSocket.html | 108 + .../axhttp/html/struct__AXHttpServerSocket.js | 11 + .../api/axhttp/html/struct__ThreadArgs.html | 90 + .../src/api/axhttp/html/struct__ThreadArgs.js | 5 + .../api/src/api/axhttp/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/axhttp/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/axhttp/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/axhttp/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/axhttp/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/axhttp/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/axhttp/html/tabs.css | 1 + .../cairo_image/axoverlayexample_cairo.c | 175 + .../example/opengles_objectloader/README | 77 + .../example/opengles_objectloader/config.c | 55 + .../example/opengles_objectloader/config.h | 54 + .../opengles_objectloader/gl_example_errors.c | 134 + .../opengles_objectloader/gl_example_errors.h | 25 + .../example/opengles_objectloader/loaders.cpp | 198 + .../example/opengles_objectloader/loaders.h | 21 + .../example/opengles_objectloader/mesh.cpp | 212 + .../example/opengles_objectloader/mesh.h | 73 + .../opengles_objectloader/misc/cube.bmp | Bin 0 -> 890 bytes .../opengles_objectloader/misc/cube.mtl | 13 + .../opengles_objectloader/misc/cube.obj | 34 + .../opengles_objectloader/misc/shader.frag | 14 + .../opengles_objectloader/misc/shader.vert | 23 + .../opengles_objectloader/misc/stormwind.bmp | Bin 0 -> 890 bytes .../opengles_objectloader/misc/stormwind.mtl | 11 + .../opengles_objectloader/misc/stormwind.obj | 3278 +++++++++++ .../opengles_objectloader.c | 165 + .../example/opengles_objectloader/render.c | 219 + .../example/opengles_objectloader/render.h | 8 + .../example/opengles_objectloader/shaders.c | 141 + .../example/opengles_objectloader/shaders.h | 46 + .../opengles_performance.c | 337 ++ .../palette/axoverlayexample_palette.c | 213 + .../api/src/api/axoverlay/html/annotated.html | 106 + .../src/api/axoverlay/html/annotated_dup.js | 7 + .../api/src/api/axoverlay/html/axis-logo.png | Bin 0 -> 2757 bytes .../src/api/axoverlay/html/axoverlay_8h.html | 1101 ++++ .../src/api/axoverlay/html/axoverlay_8h.js | 72 + .../api/axoverlay/html/axoverlay_8h__incl.dot | 8 + .../api/axoverlay/html/axoverlay_8h__incl.md5 | 1 + .../axoverlay/html/axoverlay_8h_source.html | 169 + .../src/api/axoverlay/html/axoverlaypage.html | 100 + .../api/src/api/axoverlay/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/axoverlay/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/axoverlay/html/classes.html | 107 + .../api/src/api/axoverlay/html/closed.png | Bin 0 -> 130 bytes .../src/api/axoverlay/html/customdoxygen.css | 79 + .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 106 + .../dir_68267d1309a1af8e8297ef4c3efbcdba.js | 4 + .../api/src/api/axoverlay/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/axoverlay/html/doxygen.css | 1596 +++++ .../api/src/api/axoverlay/html/doxygen.png | Bin 0 -> 3811 bytes .../api/src/api/axoverlay/html/dynsections.js | 97 + .../api/src/api/axoverlay/html/files.html | 104 + .../api/src/api/axoverlay/html/files.js | 4 + .../src/api/axoverlay/html/folderclosed.png | Bin 0 -> 583 bytes .../api/src/api/axoverlay/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/axoverlay/html/functions.html | 164 + .../api/axoverlay/html/functions_vars.html | 164 + .../api/src/api/axoverlay/html/globals.html | 254 + .../src/api/axoverlay/html/globals_defs.html | 114 + .../src/api/axoverlay/html/globals_enum.html | 111 + .../src/api/axoverlay/html/globals_eval.html | 162 + .../src/api/axoverlay/html/globals_func.html | 144 + .../src/api/axoverlay/html/globals_type.html | 105 + .../src/api/axoverlay/html/graph_legend.dot | 22 + .../src/api/axoverlay/html/graph_legend.html | 127 + .../src/api/axoverlay/html/graph_legend.md5 | 1 + .../api/src/api/axoverlay/html/index.html | 100 + .../api/src/api/axoverlay/html/jquery.js | 87 + .../api/src/api/axoverlay/html/menu.js | 26 + .../api/src/api/axoverlay/html/menudata.js | 22 + .../api/src/api/axoverlay/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/axoverlay/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/axoverlay/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/axoverlay/html/navtree.css | 146 + .../api/src/api/axoverlay/html/navtree.js | 517 ++ .../api/src/api/axoverlay/html/navtreedata.js | 37 + .../src/api/axoverlay/html/navtreeindex0.js | 112 + .../api/src/api/axoverlay/html/open.png | Bin 0 -> 121 bytes .../api/src/api/axoverlay/html/pages.html | 103 + .../api/src/api/axoverlay/html/resize.js | 114 + .../src/api/axoverlay/html/search/all_0.html | 26 + .../src/api/axoverlay/html/search/all_0.js | 64 + .../src/api/axoverlay/html/search/all_1.html | 26 + .../src/api/axoverlay/html/search/all_1.js | 5 + .../src/api/axoverlay/html/search/all_2.html | 26 + .../src/api/axoverlay/html/search/all_2.js | 5 + .../src/api/axoverlay/html/search/all_3.html | 26 + .../src/api/axoverlay/html/search/all_3.js | 4 + .../src/api/axoverlay/html/search/all_4.html | 26 + .../src/api/axoverlay/html/search/all_4.js | 4 + .../src/api/axoverlay/html/search/all_5.html | 26 + .../src/api/axoverlay/html/search/all_5.js | 4 + .../src/api/axoverlay/html/search/all_6.html | 26 + .../src/api/axoverlay/html/search/all_6.js | 5 + .../src/api/axoverlay/html/search/all_7.html | 26 + .../src/api/axoverlay/html/search/all_7.js | 5 + .../src/api/axoverlay/html/search/all_8.html | 26 + .../src/api/axoverlay/html/search/all_8.js | 6 + .../src/api/axoverlay/html/search/all_9.html | 26 + .../src/api/axoverlay/html/search/all_9.js | 5 + .../src/api/axoverlay/html/search/all_a.html | 26 + .../src/api/axoverlay/html/search/all_a.js | 4 + .../src/api/axoverlay/html/search/all_b.html | 26 + .../src/api/axoverlay/html/search/all_b.js | 4 + .../src/api/axoverlay/html/search/all_c.html | 26 + .../src/api/axoverlay/html/search/all_c.js | 4 + .../src/api/axoverlay/html/search/all_d.html | 26 + .../src/api/axoverlay/html/search/all_d.js | 4 + .../api/axoverlay/html/search/classes_0.html | 26 + .../api/axoverlay/html/search/classes_0.js | 7 + .../src/api/axoverlay/html/search/close.png | Bin 0 -> 273 bytes .../api/axoverlay/html/search/defines_0.html | 26 + .../api/axoverlay/html/search/defines_0.js | 9 + .../api/axoverlay/html/search/enums_0.html | 26 + .../src/api/axoverlay/html/search/enums_0.js | 8 + .../axoverlay/html/search/enumvalues_0.html | 26 + .../api/axoverlay/html/search/enumvalues_0.js | 25 + .../api/axoverlay/html/search/files_0.html | 26 + .../src/api/axoverlay/html/search/files_0.js | 4 + .../axoverlay/html/search/functions_0.html | 26 + .../api/axoverlay/html/search/functions_0.js | 19 + .../src/api/axoverlay/html/search/mag_sel.png | Bin 0 -> 563 bytes .../api/axoverlay/html/search/nomatches.html | 12 + .../api/axoverlay/html/search/pages_0.html | 26 + .../src/api/axoverlay/html/search/pages_0.js | 4 + .../api/axoverlay/html/search/pages_1.html | 26 + .../src/api/axoverlay/html/search/pages_1.js | 4 + .../src/api/axoverlay/html/search/search.css | 271 + .../src/api/axoverlay/html/search/search.js | 791 +++ .../api/axoverlay/html/search/search_l.png | Bin 0 -> 604 bytes .../api/axoverlay/html/search/search_m.png | Bin 0 -> 158 bytes .../api/axoverlay/html/search/search_r.png | Bin 0 -> 612 bytes .../api/axoverlay/html/search/searchdata.js | 42 + .../api/axoverlay/html/search/typedefs_0.html | 26 + .../api/axoverlay/html/search/typedefs_0.js | 6 + .../axoverlay/html/search/variables_0.html | 26 + .../api/axoverlay/html/search/variables_0.js | 6 + .../axoverlay/html/search/variables_1.html | 26 + .../api/axoverlay/html/search/variables_1.js | 5 + .../axoverlay/html/search/variables_2.html | 26 + .../api/axoverlay/html/search/variables_2.js | 5 + .../axoverlay/html/search/variables_3.html | 26 + .../api/axoverlay/html/search/variables_3.js | 4 + .../axoverlay/html/search/variables_4.html | 26 + .../api/axoverlay/html/search/variables_4.js | 4 + .../axoverlay/html/search/variables_5.html | 26 + .../api/axoverlay/html/search/variables_5.js | 5 + .../axoverlay/html/search/variables_6.html | 26 + .../api/axoverlay/html/search/variables_6.js | 5 + .../axoverlay/html/search/variables_7.html | 26 + .../api/axoverlay/html/search/variables_7.js | 6 + .../axoverlay/html/search/variables_8.html | 26 + .../api/axoverlay/html/search/variables_8.js | 5 + .../axoverlay/html/search/variables_9.html | 26 + .../api/axoverlay/html/search/variables_9.js | 4 + .../axoverlay/html/search/variables_a.html | 26 + .../api/axoverlay/html/search/variables_a.js | 4 + .../axoverlay/html/search/variables_b.html | 26 + .../api/axoverlay/html/search/variables_b.js | 4 + .../axoverlay/html/search/variables_c.html | 26 + .../api/axoverlay/html/search/variables_c.js | 4 + .../api/src/api/axoverlay/html/splitbar.png | Bin 0 -> 301 bytes .../html/structaxoverlay__overlay__data.html | 266 + .../html/structaxoverlay__overlay__data.js | 12 + .../html/structaxoverlay__palette__color.html | 198 + .../html/structaxoverlay__palette__color.js | 8 + .../html/structaxoverlay__settings.html | 188 + .../html/structaxoverlay__settings.js | 7 + ...structaxoverlay__settings__coll__graph.dot | 8 + ...structaxoverlay__settings__coll__graph.md5 | 1 + .../html/structaxoverlay__stream__data.html | 218 + .../html/structaxoverlay__stream__data.js | 10 + .../api/src/api/axoverlay/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/axoverlay/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/axoverlay/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/axoverlay/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/axoverlay/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/axoverlay/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/axoverlay/html/tabs.css | 1 + .../api/src/api/axparameter/examples/LICENSE | 1 + .../api/src/api/axparameter/examples/Makefile | 21 + .../axparameter/examples/axparameterexample.c | 167 + .../src/api/axparameter/examples/package.conf | 25 + .../src/api/axparameter/examples/param.conf | 4 + .../axparameter/html/ax__parameter_8h.html | 583 ++ .../api/axparameter/html/ax__parameter_8h.js | 14 + .../html/ax__parameter_8h_source.html | 89 + .../html/ax__parameter__error_8h.html | 195 + .../html/ax__parameter__error_8h.js | 28 + .../html/ax__parameter__error_8h_source.html | 100 + .../src/api/axparameter/html/axis-logo.png | Bin 0 -> 2757 bytes .../api/axparameter/html/axparameter_8h.html | 91 + .../html/axparameter_8h_source.html | 78 + .../html/axparameterexample_8c-example.html | 78 + .../api/src/api/axparameter/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/axparameter/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/axparameter/html/closed.png | Bin 0 -> 130 bytes .../api/axparameter/html/customdoxygen.css | 79 + .../api/src/api/axparameter/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/axparameter/html/doxygen.css | 1596 +++++ .../api/src/api/axparameter/html/doxygen.png | Bin 0 -> 3811 bytes .../src/api/axparameter/html/dynsections.js | 97 + .../src/api/axparameter/html/examples.html | 81 + .../api/src/api/axparameter/html/examples.js | 4 + .../api/src/api/axparameter/html/files.html | 84 + .../api/src/api/axparameter/html/files.js | 6 + .../src/api/axparameter/html/folderclosed.png | Bin 0 -> 583 bytes .../src/api/axparameter/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/axparameter/html/globals.html | 176 + .../api/axparameter/html/globals_enum.html | 78 + .../api/axparameter/html/globals_eval.html | 138 + .../api/axparameter/html/globals_func.html | 102 + .../api/axparameter/html/globals_type.html | 81 + .../api/src/api/axparameter/html/index.html | 77 + .../api/src/api/axparameter/html/jquery.js | 87 + .../api/src/api/axparameter/html/menu.js | 26 + .../api/src/api/axparameter/html/menudata.js | 15 + .../api/src/api/axparameter/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/axparameter/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/axparameter/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/axparameter/html/navtree.css | 146 + .../api/src/api/axparameter/html/navtree.js | 517 ++ .../src/api/axparameter/html/navtreedata.js | 27 + .../src/api/axparameter/html/navtreeindex0.js | 57 + .../api/src/api/axparameter/html/open.png | Bin 0 -> 121 bytes .../api/src/api/axparameter/html/resize.js | 114 + .../api/src/api/axparameter/html/splitbar.png | Bin 0 -> 301 bytes .../api/src/api/axparameter/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/axparameter/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/axparameter/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/axparameter/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/axparameter/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/axparameter/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/axparameter/html/tabs.css | 1 + .../api/src/api/axptz/example/LICENSE | 1 + .../api/src/api/axptz/example/Makefile | 21 + .../api/src/api/axptz/example/README | 1 + .../api/src/api/axptz/example/axptzexample.c | 932 +++ .../api/src/api/axptz/example/package.conf | 25 + .../api/src/api/axptz/html/annotated.html | 94 + .../api/src/api/axptz/html/annotated_dup.js | 16 + .../api/src/api/axptz/html/ax__ptz_8h.html | 194 + .../api/src/api/axptz/html/ax__ptz_8h.js | 6 + .../src/api/axptz/html/ax__ptz_8h_source.html | 81 + .../html/ax__ptz__control__queue_8h.html | 249 + .../axptz/html/ax__ptz__control__queue_8h.js | 12 + .../ax__ptz__control__queue_8h_source.html | 86 + ...x__ptz__control__queue__int_8h_source.html | 81 + .../src/api/axptz/html/ax__ptz__error_8h.html | 152 + .../src/api/axptz/html/ax__ptz__error_8h.js | 15 + .../axptz/html/ax__ptz__error_8h_source.html | 87 + .../html/ax__ptz__error__int_8h_source.html | 79 + .../axptz/html/ax__ptz__int_8h_source.html | 79 + .../api/axptz/html/ax__ptz__movement_8h.html | 563 ++ .../api/axptz/html/ax__ptz__movement_8h.js | 16 + .../html/ax__ptz__movement_8h_source.html | 90 + .../html/ax__ptz__movement__handler_8h.html | 1008 ++++ .../html/ax__ptz__movement__handler_8h.js | 37 + .../ax__ptz__movement__handler_8h_source.html | 129 + ...ptz__movement__handler__int_8h_source.html | 83 + .../ax__ptz__movement__int_8h_source.html | 84 + .../html/ax__ptz__preset__handler_8h.html | 750 +++ .../axptz/html/ax__ptz__preset__handler_8h.js | 16 + .../ax__ptz__preset__handler_8h_source.html | 94 + ...__ptz__preset__handler__int_8h_source.html | 80 + .../src/api/axptz/html/ax__ptz__types_8h.html | 115 + .../src/api/axptz/html/ax__ptz__types_8h.js | 6 + .../axptz/html/ax__ptz__types_8h_source.html | 80 + .../html/ax__ptz__types__int_8h_source.html | 79 + .../api/src/api/axptz/html/axis-logo.png | Bin 0 -> 2757 bytes .../api/src/api/axptz/html/axptz_8h.html | 94 + .../src/api/axptz/html/axptz_8h_source.html | 78 + .../axptz/html/axptzexample_8c-example.html | 78 + .../api/src/api/axptz/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/axptz/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/axptz/html/classes.html | 88 + .../api/src/api/axptz/html/closed.png | Bin 0 -> 130 bytes .../api/src/api/axptz/html/customdoxygen.css | 79 + .../api/src/api/axptz/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/axptz/html/doxygen.css | 1596 +++++ .../api/src/api/axptz/html/doxygen.png | Bin 0 -> 3811 bytes .../api/src/api/axptz/html/dynsections.js | 97 + .../api/src/api/axptz/html/examples.html | 81 + .../api/src/api/axptz/html/examples.js | 4 + .../api/src/api/axptz/html/files.html | 96 + .../api/src/api/axptz/html/files.js | 18 + .../api/src/api/axptz/html/folderclosed.png | Bin 0 -> 583 bytes .../api/src/api/axptz/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/axptz/html/functions.html | 114 + .../src/api/axptz/html/functions_vars.html | 114 + .../api/src/api/axptz/html/globals.html | 296 + .../api/src/api/axptz/html/globals_enum.html | 99 + .../api/src/api/axptz/html/globals_eval.html | 153 + .../api/src/api/axptz/html/globals_func.html | 182 + .../api/src/api/axptz/html/globals_type.html | 87 + .../api/src/api/axptz/html/index.html | 77 + .../api/src/api/axptz/html/jquery.js | 87 + .../api/src/api/axptz/html/menu.js | 26 + .../api/src/api/axptz/html/menudata.js | 21 + .../api/src/api/axptz/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/axptz/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/axptz/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/axptz/html/navtree.css | 146 + .../api/src/api/axptz/html/navtree.js | 517 ++ .../api/src/api/axptz/html/navtreedata.js | 34 + .../api/src/api/axptz/html/navtreeindex0.js | 172 + .../api/src/api/axptz/html/open.png | Bin 0 -> 121 bytes .../api/src/api/axptz/html/resize.js | 114 + .../api/src/api/axptz/html/splitbar.png | Bin 0 -> 301 bytes .../src/api/axptz/html/structAXPTZLimits.html | 199 + .../src/api/axptz/html/structAXPTZLimits.js | 9 + .../html/structAXPTZMonotonicTimestamp.html | 95 + .../html/structAXPTZMonotonicTimestamp.js | 5 + .../src/api/axptz/html/structAXPTZStatus.html | 211 + .../src/api/axptz/html/structAXPTZStatus.js | 10 + .../api/src/api/axptz/html/struct__AXPTZ.html | 87 + .../api/src/api/axptz/html/struct__AXPTZ.js | 4 + .../html/struct__AXPTZAbsoluteMovement.html | 92 + .../html/struct__AXPTZAbsoluteMovement.js | 5 + .../html/struct__AXPTZContinuousMovement.html | 92 + .../html/struct__AXPTZContinuousMovement.js | 5 + .../axptz/html/struct__AXPTZControlQueue.html | 90 + .../axptz/html/struct__AXPTZControlQueue.js | 5 + .../html/struct__AXPTZControlQueueGroup.html | 92 + .../html/struct__AXPTZControlQueueGroup.js | 5 + .../api/axptz/html/struct__AXPTZMovement.html | 93 + .../api/axptz/html/struct__AXPTZMovement.js | 6 + .../html/struct__AXPTZMovementHandler.html | 111 + .../html/struct__AXPTZMovementHandler.js | 12 + .../html/struct__AXPTZPresetHandler.html | 87 + .../axptz/html/struct__AXPTZPresetHandler.js | 4 + .../api/axptz/html/struct__AXPTZProperty.html | 90 + .../api/axptz/html/struct__AXPTZProperty.js | 5 + .../html/struct__AXPTZRelativeMovement.html | 92 + .../html/struct__AXPTZRelativeMovement.js | 5 + .../api/src/api/axptz/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/axptz/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/axptz/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/axptz/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/axptz/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/axptz/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/axptz/html/tabs.css | 1 + .../api/axserialport/example_pelco-D/LICENSE | 1 + .../api/axserialport/example_pelco-D/Makefile | 33 + .../api/axserialport/example_pelco-D/README | 4 + .../axserialport_pelco_spectra_mini.c | 363 ++ .../axserialport/example_pelco-D/package.conf | 25 + .../api/src/api/axserialport/examples/LICENSE | 1 + .../src/api/axserialport/examples/Makefile | 34 + .../api/src/api/axserialport/examples/README | 2 + .../examples/axserialport_example.c | 271 + .../api/axserialport/examples/package.conf | 25 + .../api/axserialport/examples_threads/LICENSE | 1 + .../axserialport/examples_threads/Makefile | 36 + .../api/axserialport/examples_threads/README | 2 + .../examples_threads/package.conf | 25 + .../examples_threads/serial_example_threads.c | 313 + .../src/api/axserialport/html/axis-logo.png | Bin 0 -> 2757 bytes .../axserialport/html/axserialport_8h.html | 931 +++ .../api/axserialport/html/axserialport_8h.js | 72 + .../html/axserialport_8h_source.html | 140 + .../html/axserialport_example_8c-example.html | 78 + .../api/src/api/axserialport/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/axserialport/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/axserialport/html/closed.png | Bin 0 -> 130 bytes .../api/axserialport/html/customdoxygen.css | 79 + .../api/src/api/axserialport/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/axserialport/html/doxygen.css | 1596 +++++ .../api/src/api/axserialport/html/doxygen.png | Bin 0 -> 3811 bytes .../src/api/axserialport/html/dynsections.js | 97 + .../src/api/axserialport/html/examples.html | 81 + .../api/src/api/axserialport/html/examples.js | 4 + .../api/src/api/axserialport/html/files.html | 82 + .../api/src/api/axserialport/html/files.js | 4 + .../api/axserialport/html/folderclosed.png | Bin 0 -> 583 bytes .../src/api/axserialport/html/folderopen.png | Bin 0 -> 586 bytes .../src/api/axserialport/html/globals.html | 263 + .../api/axserialport/html/globals_enum.html | 96 + .../api/axserialport/html/globals_eval.html | 203 + .../api/axserialport/html/globals_func.html | 111 + .../api/axserialport/html/globals_type.html | 78 + .../api/src/api/axserialport/html/index.html | 77 + .../api/src/api/axserialport/html/jquery.js | 87 + .../api/src/api/axserialport/html/menu.js | 26 + .../api/src/api/axserialport/html/menudata.js | 16 + .../api/src/api/axserialport/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/axserialport/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/axserialport/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/axserialport/html/navtree.css | 146 + .../api/src/api/axserialport/html/navtree.js | 517 ++ .../src/api/axserialport/html/navtreedata.js | 27 + .../api/axserialport/html/navtreeindex0.js | 80 + .../api/src/api/axserialport/html/open.png | Bin 0 -> 121 bytes .../api/src/api/axserialport/html/resize.js | 114 + .../src/api/axserialport/html/splitbar.png | Bin 0 -> 301 bytes .../src/api/axserialport/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/axserialport/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/axserialport/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/axserialport/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/axserialport/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/axserialport/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/axserialport/html/tabs.css | 1 + .../api/src/api/axstorage/examples/LICENSE | 1 + .../api/src/api/axstorage/examples/Makefile | 34 + .../api/src/api/axstorage/examples/README | 10 + .../axstorage/examples/ax_storage_example.c | 393 ++ .../src/api/axstorage/examples/package.conf | 25 + .../api/src/api/axstorage/examples/param.conf | 0 .../api/axstorage/html/ax__storage_8h.html | 643 +++ .../src/api/axstorage/html/ax__storage_8h.js | 28 + .../axstorage/html/ax__storage_8h_source.html | 98 + .../axstorage/html/ax__storage__error_8h.html | 149 + .../axstorage/html/ax__storage__error_8h.js | 14 + .../html/ax__storage__error_8h_source.html | 86 + .../html/ax_storage_example_8c-example.html | 78 + .../api/src/api/axstorage/html/axis-logo.png | Bin 0 -> 2757 bytes .../src/api/axstorage/html/axstorage_8h.html | 93 + .../axstorage/html/axstorage_8h_source.html | 78 + .../api/src/api/axstorage/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/axstorage/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/axstorage/html/closed.png | Bin 0 -> 130 bytes .../src/api/axstorage/html/customdoxygen.css | 79 + .../api/src/api/axstorage/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/axstorage/html/doxygen.css | 1596 +++++ .../api/src/api/axstorage/html/doxygen.png | Bin 0 -> 3811 bytes .../api/src/api/axstorage/html/dynsections.js | 97 + .../api/src/api/axstorage/html/examples.html | 81 + .../api/src/api/axstorage/html/examples.js | 4 + .../api/src/api/axstorage/html/files.html | 84 + .../api/src/api/axstorage/html/files.js | 6 + .../src/api/axstorage/html/folderclosed.png | Bin 0 -> 583 bytes .../api/src/api/axstorage/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/axstorage/html/globals.html | 159 + .../src/api/axstorage/html/globals_enum.html | 84 + .../src/api/axstorage/html/globals_eval.html | 111 + .../src/api/axstorage/html/globals_func.html | 102 + .../src/api/axstorage/html/globals_type.html | 87 + .../api/src/api/axstorage/html/index.html | 77 + .../api/src/api/axstorage/html/jquery.js | 87 + .../api/src/api/axstorage/html/menu.js | 26 + .../api/src/api/axstorage/html/menudata.js | 14 + .../api/src/api/axstorage/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/axstorage/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/axstorage/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/axstorage/html/navtree.css | 146 + .../api/src/api/axstorage/html/navtree.js | 517 ++ .../api/src/api/axstorage/html/navtreedata.js | 27 + .../src/api/axstorage/html/navtreeindex0.js | 55 + .../api/src/api/axstorage/html/open.png | Bin 0 -> 121 bytes .../api/src/api/axstorage/html/resize.js | 114 + .../api/src/api/axstorage/html/splitbar.png | Bin 0 -> 301 bytes .../api/src/api/axstorage/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/axstorage/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/axstorage/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/axstorage/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/axstorage/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/axstorage/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/axstorage/html/tabs.css | 1 + .../api/src/api/bbox/html/bbox_8h.html | 665 +++ .../api/src/api/bbox/html/bbox_8h.js | 17 + .../api/src/api/bbox/html/bbox_8h__incl.dot | 12 + .../api/src/api/bbox/html/bbox_8h__incl.md5 | 1 + .../api/src/api/bbox/html/bbox_8h_source.html | 112 + .../api/src/api/bbox/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/bbox/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/bbox/html/closed.png | Bin 0 -> 130 bytes .../api/src/api/bbox/html/customdoxygen.css | 79 + .../api/src/api/bbox/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/bbox/html/doxygen.css | 1596 +++++ .../api/src/api/bbox/html/doxygen.png | Bin 0 -> 3811 bytes .../api/src/api/bbox/html/dynsections.js | 97 + .../api/src/api/bbox/html/files.html | 102 + .../api/src/api/bbox/html/files.js | 4 + .../api/src/api/bbox/html/folderclosed.png | Bin 0 -> 583 bytes .../api/src/api/bbox/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/bbox/html/globals.html | 137 + .../api/src/api/bbox/html/globals_func.html | 137 + .../api/src/api/bbox/html/graph_legend.dot | 22 + .../api/src/api/bbox/html/graph_legend.html | 126 + .../api/src/api/bbox/html/graph_legend.md5 | 1 + .../api/src/api/bbox/html/index.html | 97 + .../api/src/api/bbox/html/jquery.js | 87 + .../api/src/api/bbox/html/menu.js | 26 + .../api/src/api/bbox/html/menudata.js | 10 + .../api/src/api/bbox/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/bbox/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/bbox/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/bbox/html/navtree.css | 146 + .../api/src/api/bbox/html/navtree.js | 517 ++ .../api/src/api/bbox/html/navtreedata.js | 23 + .../api/src/api/bbox/html/navtreeindex0.js | 27 + .../api/src/api/bbox/html/open.png | Bin 0 -> 121 bytes .../api/src/api/bbox/html/resize.js | 114 + .../api/src/api/bbox/html/search/all_0.html | 26 + .../api/src/api/bbox/html/search/all_0.js | 18 + .../api/src/api/bbox/html/search/close.png | Bin 0 -> 273 bytes .../api/src/api/bbox/html/search/files_0.html | 26 + .../api/src/api/bbox/html/search/files_0.js | 4 + .../src/api/bbox/html/search/functions_0.html | 26 + .../src/api/bbox/html/search/functions_0.js | 17 + .../api/src/api/bbox/html/search/mag_sel.png | Bin 0 -> 563 bytes .../src/api/bbox/html/search/nomatches.html | 12 + .../api/src/api/bbox/html/search/search.css | 271 + .../api/src/api/bbox/html/search/search.js | 791 +++ .../api/src/api/bbox/html/search/search_l.png | Bin 0 -> 604 bytes .../api/src/api/bbox/html/search/search_m.png | Bin 0 -> 158 bytes .../api/src/api/bbox/html/search/search_r.png | Bin 0 -> 612 bytes .../src/api/bbox/html/search/searchdata.js | 21 + .../api/src/api/bbox/html/splitbar.png | Bin 0 -> 301 bytes .../api/src/api/bbox/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/bbox/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/bbox/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/bbox/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/bbox/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/bbox/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/bbox/html/tabs.css | 1 + .../api/src/api/capture/html/axis-logo.png | Bin 0 -> 2757 bytes .../api/src/api/capture/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/capture/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/capture/html/capture_8h.html | 773 +++ .../api/src/api/capture/html/capture_8h.js | 32 + .../api/capture/html/capture_8h_source.html | 98 + .../api/capture/html/capture__native_8h.html | 285 + .../api/capture/html/capture__native_8h.js | 9 + .../html/capture__native_8h_source.html | 83 + .../api/src/api/capture/html/closed.png | Bin 0 -> 130 bytes .../src/api/capture/html/customdoxygen.css | 79 + .../api/src/api/capture/html/deprecated.html | 95 + .../api/src/api/capture/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/capture/html/doxygen.css | 1596 +++++ .../api/src/api/capture/html/doxygen.png | Bin 0 -> 3811 bytes .../api/src/api/capture/html/dynsections.js | 97 + .../api/src/api/capture/html/files.html | 83 + .../api/src/api/capture/html/files.js | 5 + .../api/src/api/capture/html/folderclosed.png | Bin 0 -> 583 bytes .../api/src/api/capture/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/capture/html/globals.html | 159 + .../src/api/capture/html/globals_defs.html | 87 + .../src/api/capture/html/globals_func.html | 144 + .../src/api/capture/html/globals_type.html | 78 + .../api/src/api/capture/html/index.html | 77 + .../api/src/api/capture/html/jquery.js | 87 + .../api/src/api/capture/html/menu.js | 26 + .../api/src/api/capture/html/menudata.js | 13 + .../api/src/api/capture/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/capture/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/capture/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/capture/html/navtree.css | 146 + .../api/src/api/capture/html/navtree.js | 517 ++ .../api/src/api/capture/html/navtreedata.js | 26 + .../api/src/api/capture/html/navtreeindex0.js | 53 + .../api/src/api/capture/html/open.png | Bin 0 -> 121 bytes .../api/src/api/capture/html/pages.html | 82 + .../api/src/api/capture/html/resize.js | 114 + .../api/src/api/capture/html/splitbar.png | Bin 0 -> 301 bytes .../api/src/api/capture/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/capture/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/capture/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/capture/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/capture/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/capture/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/capture/html/tabs.css | 1 + .../api/src/api/larod/html/annotated.html | 82 + .../api/src/api/larod/html/axis-logo.png | Bin 0 -> 2757 bytes .../api/src/api/larod/html/bc_s.png | Bin 0 -> 676 bytes .../api/src/api/larod/html/bdwn.png | Bin 0 -> 147 bytes .../api/src/api/larod/html/classes.html | 84 + .../api/src/api/larod/html/closed.png | Bin 0 -> 132 bytes .../api/src/api/larod/html/customdoxygen.css | 79 + .../api/src/api/larod/html/deprecated.html | 127 + .../dir_97aefd0d527b934f1d99a682da8fe6a9.html | 86 + .../api/src/api/larod/html/doc.png | Bin 0 -> 746 bytes .../api/src/api/larod/html/doxygen.css | 1596 +++++ .../api/src/api/larod/html/doxygen.png | Bin 0 -> 3779 bytes .../api/src/api/larod/html/dynsections.js | 97 + .../api/src/api/larod/html/files.html | 80 + .../api/src/api/larod/html/folderclosed.png | Bin 0 -> 616 bytes .../api/src/api/larod/html/folderopen.png | Bin 0 -> 597 bytes .../api/src/api/larod/html/functions.html | 83 + .../src/api/larod/html/functions_vars.html | 83 + .../api/src/api/larod/html/globals.html | 546 ++ .../api/src/api/larod/html/globals_defs.html | 97 + .../api/src/api/larod/html/globals_enum.html | 88 + .../api/src/api/larod/html/globals_eval.html | 231 + .../api/src/api/larod/html/globals_func.html | 321 ++ .../api/src/api/larod/html/globals_type.html | 103 + .../api/src/api/larod/html/index.html | 87 + .../api/src/api/larod/html/jquery.js | 87 + .../api/src/api/larod/html/larod_8h.html | 5133 +++++++++++++++++ .../src/api/larod/html/larod_8h_source.html | 236 + ...opt_builder-doc_larod_doc_api-changes.html | 145 + ...pt_builder-doc_larod_doc_architecture.html | 93 + ...md__opt_builder-doc_larod_doc_dma-buf.html | 91 + ...d_doc_introduction-for-app-developers.html | 205 + ...pt_builder-doc_larod_doc_larod-client.html | 102 + ...t_builder-doc_larod_doc_model-formats.html | 82 + ...pt_builder-doc_larod_doc_nn-inference.html | 250 + ...t_builder-doc_larod_doc_preprocessing.html | 328 ++ ...oc_larod_tools_model-converter_README.html | 94 + .../api/src/api/larod/html/menu.js | 26 + .../api/src/api/larod/html/menudata.js | 24 + .../api/src/api/larod/html/nav_f.png | Bin 0 -> 153 bytes .../api/src/api/larod/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/larod/html/nav_h.png | Bin 0 -> 98 bytes .../api/src/api/larod/html/open.png | Bin 0 -> 123 bytes .../api/src/api/larod/html/pages.html | 89 + .../api/src/api/larod/html/search/all_0.html | 26 + .../api/src/api/larod/html/search/all_0.js | 4 + .../api/src/api/larod/html/search/all_1.html | 26 + .../api/src/api/larod/html/search/all_1.js | 5 + .../api/src/api/larod/html/search/all_2.html | 26 + .../api/src/api/larod/html/search/all_2.js | 5 + .../api/src/api/larod/html/search/all_3.html | 26 + .../api/src/api/larod/html/search/all_3.js | 4 + .../api/src/api/larod/html/search/all_4.html | 26 + .../api/src/api/larod/html/search/all_4.js | 165 + .../api/src/api/larod/html/search/all_5.html | 26 + .../api/src/api/larod/html/search/all_5.js | 5 + .../api/src/api/larod/html/search/all_6.html | 26 + .../api/src/api/larod/html/search/all_6.js | 4 + .../api/src/api/larod/html/search/all_7.html | 26 + .../api/src/api/larod/html/search/all_7.js | 4 + .../api/src/api/larod/html/search/all_8.html | 26 + .../api/src/api/larod/html/search/all_8.js | 4 + .../api/src/api/larod/html/search/all_9.html | 26 + .../api/src/api/larod/html/search/all_9.js | 4 + .../api/src/api/larod/html/search/all_a.html | 26 + .../api/src/api/larod/html/search/all_a.js | 4 + .../src/api/larod/html/search/classes_0.html | 26 + .../src/api/larod/html/search/classes_0.js | 6 + .../api/src/api/larod/html/search/close.png | Bin 0 -> 273 bytes .../src/api/larod/html/search/defines_0.html | 26 + .../src/api/larod/html/search/defines_0.js | 11 + .../src/api/larod/html/search/enums_0.html | 26 + .../api/src/api/larod/html/search/enums_0.js | 8 + .../api/larod/html/search/enumvalues_0.html | 26 + .../src/api/larod/html/search/enumvalues_0.js | 55 + .../src/api/larod/html/search/files_0.html | 26 + .../api/src/api/larod/html/search/files_0.js | 4 + .../api/larod/html/search/functions_0.html | 26 + .../src/api/larod/html/search/functions_0.js | 85 + .../api/src/api/larod/html/search/mag_sel.png | Bin 0 -> 563 bytes .../src/api/larod/html/search/nomatches.html | 12 + .../src/api/larod/html/search/pages_0.html | 26 + .../api/src/api/larod/html/search/pages_0.js | 4 + .../src/api/larod/html/search/pages_1.html | 26 + .../api/src/api/larod/html/search/pages_1.js | 4 + .../src/api/larod/html/search/pages_2.html | 26 + .../api/src/api/larod/html/search/pages_2.js | 5 + .../src/api/larod/html/search/pages_3.html | 26 + .../api/src/api/larod/html/search/pages_3.js | 4 + .../src/api/larod/html/search/pages_4.html | 26 + .../api/src/api/larod/html/search/pages_4.js | 4 + .../src/api/larod/html/search/pages_5.html | 26 + .../api/src/api/larod/html/search/pages_5.js | 4 + .../src/api/larod/html/search/pages_6.html | 26 + .../api/src/api/larod/html/search/pages_6.js | 4 + .../src/api/larod/html/search/pages_7.html | 26 + .../api/src/api/larod/html/search/pages_7.js | 4 + .../src/api/larod/html/search/pages_8.html | 26 + .../api/src/api/larod/html/search/pages_8.js | 4 + .../src/api/larod/html/search/pages_9.html | 26 + .../api/src/api/larod/html/search/pages_9.js | 4 + .../api/src/api/larod/html/search/search.css | 271 + .../api/src/api/larod/html/search/search.js | 791 +++ .../src/api/larod/html/search/search_l.png | Bin 0 -> 604 bytes .../src/api/larod/html/search/search_m.png | Bin 0 -> 158 bytes .../src/api/larod/html/search/search_r.png | Bin 0 -> 612 bytes .../src/api/larod/html/search/searchdata.js | 42 + .../src/api/larod/html/search/typedefs_0.html | 26 + .../src/api/larod/html/search/typedefs_0.js | 13 + .../api/larod/html/search/variables_0.html | 26 + .../src/api/larod/html/search/variables_0.js | 4 + .../api/larod/html/search/variables_1.html | 26 + .../src/api/larod/html/search/variables_1.js | 4 + .../api/larod/html/search/variables_2.html | 26 + .../src/api/larod/html/search/variables_2.js | 4 + .../api/src/api/larod/html/splitbar.png | Bin 0 -> 314 bytes .../src/api/larod/html/structlarodError.html | 100 + .../api/larod/html/structlarodTensorDims.html | 98 + .../larod/html/structlarodTensorPitches.html | 103 + .../api/src/api/larod/html/sync_off.png | Bin 0 -> 853 bytes .../api/src/api/larod/html/sync_on.png | Bin 0 -> 845 bytes .../api/src/api/larod/html/tab_a.png | Bin 0 -> 142 bytes .../api/src/api/larod/html/tab_b.png | Bin 0 -> 169 bytes .../api/src/api/larod/html/tab_h.png | Bin 0 -> 177 bytes .../api/src/api/larod/html/tab_s.png | Bin 0 -> 184 bytes .../api/src/api/larod/html/tabs.css | 1 + .../api/src/api/licensekey/html/axis-logo.png | Bin 0 -> 2757 bytes .../api/src/api/licensekey/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/licensekey/html/bdwn.png | Bin 0 -> 144 bytes .../api/src/api/licensekey/html/closed.png | Bin 0 -> 130 bytes .../src/api/licensekey/html/customdoxygen.css | 79 + .../api/src/api/licensekey/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/licensekey/html/doxygen.css | 1596 +++++ .../api/src/api/licensekey/html/doxygen.png | Bin 0 -> 3811 bytes .../src/api/licensekey/html/dynsections.js | 97 + .../api/src/api/licensekey/html/files.html | 84 + .../api/src/api/licensekey/html/files.js | 6 + .../src/api/licensekey/html/folderclosed.png | Bin 0 -> 583 bytes .../src/api/licensekey/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/licensekey/html/globals.html | 87 + .../src/api/licensekey/html/globals_func.html | 87 + .../api/src/api/licensekey/html/index.html | 77 + .../api/src/api/licensekey/html/jquery.js | 87 + .../api/licensekey/html/licensekey_8h.html | 296 + .../src/api/licensekey/html/licensekey_8h.js | 7 + .../licensekey/html/licensekey_8h_source.html | 82 + .../html/licensekey__dyn_8h_source.html | 78 + .../html/licensekey__states_8h.html | 121 + .../licensekey/html/licensekey__states_8h.js | 21 + .../html/licensekey__states_8h_source.html | 78 + .../api/src/api/licensekey/html/menu.js | 26 + .../api/src/api/licensekey/html/menudata.js | 10 + .../api/src/api/licensekey/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/licensekey/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/licensekey/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/licensekey/html/navtree.css | 146 + .../api/src/api/licensekey/html/navtree.js | 517 ++ .../src/api/licensekey/html/navtreedata.js | 23 + .../src/api/licensekey/html/navtreeindex0.js | 37 + .../api/src/api/licensekey/html/open.png | Bin 0 -> 121 bytes .../api/src/api/licensekey/html/resize.js | 114 + .../api/src/api/licensekey/html/splitbar.png | Bin 0 -> 301 bytes .../api/src/api/licensekey/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/licensekey/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/licensekey/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/licensekey/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/licensekey/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/licensekey/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/licensekey/html/tabs.css | 1 + .../api/src/api/vdostream/html/annotated.html | 110 + .../src/api/vdostream/html/annotated_dup.js | 12 + .../api/src/api/vdostream/html/bc_s.png | Bin 0 -> 650 bytes .../api/src/api/vdostream/html/bdwn.png | Bin 0 -> 144 bytes .../api/vdostream/html/classVdoChannel.html | 108 + .../src/api/vdostream/html/classVdoFrame.html | 108 + .../src/api/vdostream/html/classVdoMap.html | 122 + .../api/vdostream/html/classVdoStream.html | 108 + .../api/src/api/vdostream/html/classes.html | 106 + .../api/src/api/vdostream/html/closed.png | Bin 0 -> 130 bytes .../src/api/vdostream/html/customdoxygen.css | 79 + .../src/api/vdostream/html/deprecated.html | 103 + .../api/vdostream/html/dir_000000_000001.html | 94 + .../dir_97aefd0d527b934f1d99a682da8fe6a9.html | 121 + ...r_97aefd0d527b934f1d99a682da8fe6a9_dep.dot | 8 + ...r_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 | 1 + .../dir_bdd9a5d540de89e9fe90efdfc6973a4f.html | 111 + .../api/src/api/vdostream/html/doc.png | Bin 0 -> 705 bytes .../api/src/api/vdostream/html/doxygen.css | 1596 +++++ .../api/src/api/vdostream/html/doxygen.png | Bin 0 -> 3811 bytes .../api/src/api/vdostream/html/dynsections.js | 97 + .../api/src/api/vdostream/html/files.html | 108 + .../api/src/api/vdostream/html/files.js | 10 + .../src/api/vdostream/html/folderclosed.png | Bin 0 -> 583 bytes .../api/src/api/vdostream/html/folderopen.png | Bin 0 -> 586 bytes .../api/src/api/vdostream/html/globals.html | 799 +++ .../src/api/vdostream/html/globals_defs.html | 104 + .../api/src/api/vdostream/html/globals_dup.js | 4 + .../src/api/vdostream/html/globals_enum.html | 137 + .../src/api/vdostream/html/globals_eval.html | 457 ++ .../src/api/vdostream/html/globals_func.html | 388 ++ .../src/api/vdostream/html/graph_legend.dot | 22 + .../src/api/vdostream/html/graph_legend.html | 126 + .../src/api/vdostream/html/graph_legend.md5 | 1 + .../api/src/api/vdostream/html/index.html | 97 + .../api/src/api/vdostream/html/jquery.js | 87 + .../api/src/api/vdostream/html/menu.js | 26 + .../api/src/api/vdostream/html/menudata.js | 20 + .../api/src/api/vdostream/html/nav_f.png | Bin 0 -> 135 bytes .../api/src/api/vdostream/html/nav_g.png | Bin 0 -> 95 bytes .../api/src/api/vdostream/html/nav_h.png | Bin 0 -> 90 bytes .../api/src/api/vdostream/html/navtree.css | 146 + .../api/src/api/vdostream/html/navtree.js | 517 ++ .../api/src/api/vdostream/html/navtreedata.js | 32 + .../src/api/vdostream/html/navtreeindex0.js | 253 + .../src/api/vdostream/html/navtreeindex1.js | 31 + .../api/src/api/vdostream/html/open.png | Bin 0 -> 121 bytes .../api/src/api/vdostream/html/pages.html | 102 + .../api/src/api/vdostream/html/resize.js | 114 + .../src/api/vdostream/html/search/all_0.html | 26 + .../src/api/vdostream/html/search/all_0.js | 4 + .../src/api/vdostream/html/search/all_1.html | 26 + .../src/api/vdostream/html/search/all_1.js | 253 + .../api/vdostream/html/search/classes_0.html | 26 + .../api/vdostream/html/search/classes_0.js | 12 + .../src/api/vdostream/html/search/close.png | Bin 0 -> 273 bytes .../api/vdostream/html/search/defines_0.html | 26 + .../api/vdostream/html/search/defines_0.js | 6 + .../api/vdostream/html/search/enums_0.html | 26 + .../src/api/vdostream/html/search/enums_0.js | 17 + .../vdostream/html/search/enumvalues_0.html | 26 + .../api/vdostream/html/search/enumvalues_0.js | 123 + .../api/vdostream/html/search/files_0.html | 26 + .../src/api/vdostream/html/search/files_0.js | 10 + .../vdostream/html/search/functions_0.html | 26 + .../api/vdostream/html/search/functions_0.js | 100 + .../src/api/vdostream/html/search/mag_sel.png | Bin 0 -> 563 bytes .../api/vdostream/html/search/nomatches.html | 12 + .../api/vdostream/html/search/pages_0.html | 26 + .../src/api/vdostream/html/search/pages_0.js | 4 + .../src/api/vdostream/html/search/search.css | 271 + .../src/api/vdostream/html/search/search.js | 791 +++ .../api/vdostream/html/search/search_l.png | Bin 0 -> 604 bytes .../api/vdostream/html/search/search_m.png | Bin 0 -> 158 bytes .../api/vdostream/html/search/search_r.png | Bin 0 -> 612 bytes .../api/vdostream/html/search/searchdata.js | 36 + .../api/src/api/vdostream/html/splitbar.png | Bin 0 -> 301 bytes .../api/vdostream/html/structVdoChunk.html | 108 + .../api/vdostream/html/structVdoMemChunk.html | 108 + .../src/api/vdostream/html/structVdoRect.html | 108 + .../vdostream/html/structVdoResolution.html | 108 + .../html/structVdoResolutionSet.html | 115 + .../structVdoResolutionSet__coll__graph.dot | 8 + .../structVdoResolutionSet__coll__graph.md5 | 1 + .../api/src/api/vdostream/html/sync_off.png | Bin 0 -> 831 bytes .../api/src/api/vdostream/html/sync_on.png | Bin 0 -> 819 bytes .../api/src/api/vdostream/html/tab_a.png | Bin 0 -> 141 bytes .../api/src/api/vdostream/html/tab_b.png | Bin 0 -> 150 bytes .../api/src/api/vdostream/html/tab_h.png | Bin 0 -> 158 bytes .../api/src/api/vdostream/html/tab_s.png | Bin 0 -> 165 bytes .../api/src/api/vdostream/html/tabs.css | 1 + .../src/api/vdostream/html/vdo-buffer_8h.html | 493 ++ .../src/api/vdostream/html/vdo-buffer_8h.js | 13 + .../html/vdo-buffer_8h__dep__incl.dot | 8 + .../html/vdo-buffer_8h__dep__incl.md5 | 1 + .../vdostream/html/vdo-buffer_8h__incl.dot | 17 + .../vdostream/html/vdo-buffer_8h__incl.md5 | 1 + .../vdostream/html/vdo-buffer_8h_source.html | 111 + .../api/vdostream/html/vdo-channel_8h.html | 601 ++ .../src/api/vdostream/html/vdo-channel_8h.js | 18 + .../vdostream/html/vdo-channel_8h__incl.dot | 20 + .../vdostream/html/vdo-channel_8h__incl.md5 | 1 + .../vdostream/html/vdo-channel_8h_source.html | 115 + .../src/api/vdostream/html/vdo-error_8h.html | 226 + .../src/api/vdostream/html/vdo-error_8h.js | 25 + .../api/vdostream/html/vdo-error_8h__incl.dot | 8 + .../api/vdostream/html/vdo-error_8h__incl.md5 | 1 + .../vdostream/html/vdo-error_8h_source.html | 119 + .../src/api/vdostream/html/vdo-frame_8h.html | 856 +++ .../src/api/vdostream/html/vdo-frame_8h.js | 24 + .../html/vdo-frame_8h__dep__incl.dot | 13 + .../html/vdo-frame_8h__dep__incl.md5 | 1 + .../api/vdostream/html/vdo-frame_8h__incl.dot | 15 + .../api/vdostream/html/vdo-frame_8h__incl.md5 | 1 + .../vdostream/html/vdo-frame_8h_source.html | 125 + .../src/api/vdostream/html/vdo-map_8h.html | 1303 +++++ .../api/src/api/vdostream/html/vdo-map_8h.js | 31 + .../vdostream/html/vdo-map_8h__dep__incl.dot | 17 + .../vdostream/html/vdo-map_8h__dep__incl.md5 | 1 + .../api/vdostream/html/vdo-map_8h__incl.dot | 8 + .../api/vdostream/html/vdo-map_8h__incl.md5 | 1 + .../api/vdostream/html/vdo-map_8h_source.html | 125 + .../src/api/vdostream/html/vdo-stream_8h.html | 1203 ++++ .../src/api/vdostream/html/vdo-stream_8h.js | 25 + .../vdostream/html/vdo-stream_8h__incl.dot | 23 + .../vdostream/html/vdo-stream_8h__incl.md5 | 1 + .../vdostream/html/vdo-stream_8h_source.html | 125 + .../src/api/vdostream/html/vdo-types_8h.html | 843 +++ .../src/api/vdostream/html/vdo-types_8h.js | 144 + .../html/vdo-types_8h__dep__incl.dot | 17 + .../html/vdo-types_8h__dep__incl.md5 | 1 + .../api/vdostream/html/vdo-types_8h__incl.dot | 8 + .../api/vdostream/html/vdo-types_8h__incl.md5 | 1 + .../vdostream/html/vdo-types_8h_source.html | 225 + .../src/api/video-scene-subscriber/bc_s.png | Bin 0 -> 650 bytes .../src/api/video-scene-subscriber/bdwn.png | Bin 0 -> 144 bytes .../src/api/video-scene-subscriber/closed.png | Bin 0 -> 130 bytes .../video-scene-subscriber/customdoxygen.css | 79 + .../dir_d44c64559bbebec7f509842c48db8b23.html | 83 + .../src/api/video-scene-subscriber/doc.png | Bin 0 -> 705 bytes .../api/video-scene-subscriber/doxygen.css | 1596 +++++ .../api/video-scene-subscriber/doxygen.png | Bin 0 -> 3811 bytes .../api/video-scene-subscriber/dynsections.js | 97 + .../src/api/video-scene-subscriber/files.html | 81 + .../src/api/video-scene-subscriber/files.js | 4 + .../video-scene-subscriber/folderclosed.png | Bin 0 -> 583 bytes .../api/video-scene-subscriber/folderopen.png | Bin 0 -> 586 bytes .../api/video-scene-subscriber/globals.html | 149 + .../video-scene-subscriber/globals_defs.html | 98 + .../video-scene-subscriber/globals_enum.html | 77 + .../video-scene-subscriber/globals_func.html | 110 + .../video-scene-subscriber/globals_type.html | 86 + .../video-scene-subscriber/graph_legend.dot | 22 + .../video-scene-subscriber/graph_legend.html | 105 + .../video-scene-subscriber/graph_legend.md5 | 1 + .../src/api/video-scene-subscriber/index.html | 101 + .../src/api/video-scene-subscriber/jquery.js | 87 + .../src/api/video-scene-subscriber/menu.js | 26 + .../api/video-scene-subscriber/menudata.js | 13 + .../src/api/video-scene-subscriber/nav_f.png | Bin 0 -> 135 bytes .../src/api/video-scene-subscriber/nav_g.png | Bin 0 -> 95 bytes .../src/api/video-scene-subscriber/nav_h.png | Bin 0 -> 90 bytes .../api/video-scene-subscriber/navtree.css | 146 + .../src/api/video-scene-subscriber/navtree.js | 517 ++ .../api/video-scene-subscriber/navtreedata.js | 27 + .../video-scene-subscriber/navtreeindex0.js | 45 + .../src/api/video-scene-subscriber/open.png | Bin 0 -> 121 bytes .../src/api/video-scene-subscriber/resize.js | 114 + .../api/video-scene-subscriber/splitbar.png | Bin 0 -> 301 bytes .../api/video-scene-subscriber/sync_off.png | Bin 0 -> 831 bytes .../api/video-scene-subscriber/sync_on.png | Bin 0 -> 819 bytes .../src/api/video-scene-subscriber/tab_a.png | Bin 0 -> 141 bytes .../src/api/video-scene-subscriber/tab_b.png | Bin 0 -> 150 bytes .../src/api/video-scene-subscriber/tab_h.png | Bin 0 -> 158 bytes .../src/api/video-scene-subscriber/tab_s.png | Bin 0 -> 165 bytes .../src/api/video-scene-subscriber/tabs.css | 1 + .../video__scene__subscriber_8h.html | 747 +++ .../video__scene__subscriber_8h.js | 32 + .../video__scene__subscriber_8h_source.html | 94 + .../application-project-structure.md | 275 + .../build-install-and-run-the-application.md | 200 + .../develop-using-visual-studio-code.md | 42 + .../develop-applications/index.md | 8 + .../reproducible-builds.md | 12 + .../supported-languages.md | 22 + .../vapix-access-for-acap-applications.md | 147 + .../acap-development-requirements.md | 17 + .../get-started/compatibility.md | 70 + .../get-started/find-out-which-sdk-to-use.md | 21 + docs/acap-sdk-version-3/get-started/index.md | 14 + .../get-started/set-up-and-verify-the-sdk.md | 14 + .../get-started/set-up-the-device.md | 256 + docs/acap-sdk-version-3/index.md | 7 + docs/acap-sdk-version-3/introduction/index.md | 42 + .../more-resources/index.md | 38 + .../acap-service-portal-for-administrators.md | 29 + ...cept-or-deny-unsigned-acap-applications.md | 39 + .../services-for-partners/index.md | 8 + .../services-for-partners/package-signing.md | 20 + .../what-is-new-in-acap-sdk/index.md | 112 + index.md | 6 +- 1180 files changed, 115177 insertions(+), 17 deletions(-) create mode 100644 _layouts/acap_sdk_version_3.html create mode 100644 docs/acap-sdk-version-3/api/index.md create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/examples/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/examples/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/examples/README create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/examples/axaudioexample.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/examples/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/annotated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/annotated_dup.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__config_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__datatypes_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__output_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__utils_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudioexample_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/classes.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/common_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/examples.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/examples.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_defs.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/struct__AXAudioFrame.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/struct__AXAudioFrame.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/struct__AXAudioOutput.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/struct__AXAudioOutput.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/struct__AXAudioStream.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/struct__AXAudioStream.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axaudio/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/element_item_example/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/element_item_example/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/element_item_example/ax_event_element_item_example.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/element_item_example/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/key_value_set_example1/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/key_value_set_example1/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/key_value_set_example1/ax_event_key_value_set_example1.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/key_value_set_example1/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/key_value_set_example2/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/key_value_set_example2/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/key_value_set_example2/ax_event_key_value_set_example2.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/key_value_set_example2/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/property_state_declaration_example/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/property_state_declaration_example/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/property_state_declaration_example/ax_event_property_state_declaration_example.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/property_state_declaration_example/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/property_state_declaration_from_template_example/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/property_state_declaration_from_template_example/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/property_state_declaration_from_template_example/ax_event_property_state_declaration_from_template_example.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/property_state_declaration_from_template_example/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/send_event_example/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/send_event_example/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/send_event_example/ax_event_send_event_example.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/send_event_example/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/stateless_declaration_example/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/stateless_declaration_example/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/stateless_declaration_example/ax_event_stateless_declaration_example.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/stateless_declaration_example/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/stateless_declaration_from_template_example/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/stateless_declaration_from_template_example/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/stateless_declaration_from_template_example/ax_event_stateless_declaration_from_template_example.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/stateless_declaration_from_template_example/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/subscription_example/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/subscription_example/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/subscription_example/ax_event_subscription_example.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/examples/subscription_example/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__element__item_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__element__item_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__element__item_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__error_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__error_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__error_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__handler_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__handler_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__handler_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__key__value__set_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__key__value__set_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__key__value__set_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__types_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__types_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax__event__types_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax_event_key_value_set_example1_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax_event_key_value_set_example2_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax_event_property_state_declaration_example_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax_event_property_state_declaration_from_template_example_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax_event_stateless_declaration_example_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax_event_stateless_declaration_from_template_example_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/ax_event_subscription_example_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/axevent_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/axevent_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/deprecated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/examples.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/examples.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/globals_defs.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/pages.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axevent/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/examples/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/examples/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/examples/ax_http_serve_request.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/examples/cgi.txt create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/examples/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/annotated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/annotated_dup.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__error_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__error_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__error_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__handler_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__handler_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__handler_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__handler__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__server__socket_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__server__socket_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__server__socket_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__server__socket__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__util_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax__http__util__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/ax_http_serve_request_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/axhttp_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/axhttp_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/classes.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/examples.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/examples.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/globals_defs.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/struct__AXHttpHandler.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/struct__AXHttpHandler.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/struct__AXHttpServerSocket.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/struct__AXHttpServerSocket.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/struct__ThreadArgs.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/struct__ThreadArgs.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axhttp/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/cairo_image/axoverlayexample_cairo.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/README create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/config.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/config.h create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/gl_example_errors.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/gl_example_errors.h create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/loaders.cpp create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/loaders.h create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/mesh.cpp create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/mesh.h create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/misc/cube.bmp create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/misc/cube.mtl create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/misc/cube.obj create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/misc/shader.frag create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/misc/shader.vert create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/misc/stormwind.bmp create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/misc/stormwind.mtl create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/misc/stormwind.obj create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/opengles_objectloader.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/render.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/render.h create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/shaders.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_objectloader/shaders.h create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/opengles_performance/opengles_performance.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/example/palette/axoverlayexample_palette.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/annotated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/annotated_dup.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlaypage.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/classes.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/functions.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/functions_vars.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_defs.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/pages.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_1.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_1.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_2.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_2.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_3.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_3.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_4.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_4.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_5.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_5.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_6.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_6.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_7.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_7.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_8.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_8.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_9.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_9.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_a.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_a.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_b.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_b.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_c.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_c.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_d.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_d.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/classes_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/classes_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/close.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/defines_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/defines_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enums_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enums_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enumvalues_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enumvalues_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/files_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/files_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/functions_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/functions_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/mag_sel.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/nomatches.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_1.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_1.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search_l.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search_m.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search_r.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/searchdata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/typedefs_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/typedefs_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_1.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_1.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_2.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_2.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_3.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_3.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_4.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_4.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_5.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_5.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_6.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_6.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_7.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_7.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_8.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_8.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_9.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_9.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_a.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_a.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_b.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_b.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_c.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_c.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__overlay__data.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__overlay__data.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__palette__color.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__palette__color.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__stream__data.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__stream__data.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axoverlay/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/examples/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/examples/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/examples/axparameterexample.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/examples/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/examples/param.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/axparameter_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/axparameter_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/axparameterexample_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/examples.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/examples.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axparameter/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/example/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/example/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/example/README create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/example/axptzexample.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/example/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/annotated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/annotated_dup.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__control__queue_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__control__queue_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__control__queue_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__control__queue__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__error_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__error_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__error_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__error__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__movement_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__movement_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__movement_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__movement__handler_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__movement__handler_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__movement__handler_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__movement__handler__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__movement__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__preset__handler_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__preset__handler_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__preset__handler_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__preset__handler__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__types_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__types_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__types_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/ax__ptz__types__int_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/axptz_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/axptz_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/axptzexample_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/classes.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/examples.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/examples.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/functions.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/functions_vars.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/structAXPTZLimits.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/structAXPTZLimits.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/structAXPTZMonotonicTimestamp.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/structAXPTZMonotonicTimestamp.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/structAXPTZStatus.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/structAXPTZStatus.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZ.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZ.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZAbsoluteMovement.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZAbsoluteMovement.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZContinuousMovement.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZContinuousMovement.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZControlQueue.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZControlQueue.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZControlQueueGroup.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZControlQueueGroup.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZMovement.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZMovement.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZMovementHandler.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZMovementHandler.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZPresetHandler.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZPresetHandler.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZProperty.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZProperty.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZRelativeMovement.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/struct__AXPTZRelativeMovement.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axptz/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/example_pelco-D/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/example_pelco-D/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/example_pelco-D/README create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/example_pelco-D/axserialport_pelco_spectra_mini.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/example_pelco-D/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples/README create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples/axserialport_example.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples_threads/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples_threads/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples_threads/README create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples_threads/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/examples_threads/serial_example_threads.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/axserialport_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/axserialport_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/axserialport_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/axserialport_example_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/examples.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/examples.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axserialport/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/examples/LICENSE create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/examples/Makefile create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/examples/README create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/examples/ax_storage_example.c create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/examples/package.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/examples/param.conf create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/ax__storage_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/ax__storage_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/ax__storage_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/ax__storage__error_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/ax__storage__error_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/ax__storage__error_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/ax_storage_example_8c-example.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/axstorage_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/axstorage_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/examples.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/examples.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/axstorage/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/all_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/all_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/close.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/files_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/files_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/functions_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/functions_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/mag_sel.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/nomatches.html create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/search.css create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/search.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/search_l.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/search_m.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/search_r.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/search/searchdata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/bbox/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/capture_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/capture_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/capture_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/capture__native_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/capture__native_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/capture__native_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/deprecated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/globals_defs.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/pages.html create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/capture/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/annotated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/classes.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/deprecated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/functions.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/functions_vars.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/globals_defs.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/larod_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/larod_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_api-changes.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_architecture.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_dma-buf.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_introduction-for-app-developers.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_larod-client.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_model-formats.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_nn-inference.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_preprocessing.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_tools_model-converter_README.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/pages.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_1.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_1.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_2.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_2.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_3.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_3.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_4.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_4.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_5.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_5.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_6.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_6.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_7.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_7.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_8.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_8.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_9.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_9.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_a.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/all_a.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/classes_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/classes_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/close.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/defines_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/defines_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/enums_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/enums_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/enumvalues_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/enumvalues_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/files_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/files_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/functions_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/functions_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/mag_sel.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/nomatches.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_1.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_1.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_2.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_2.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_3.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_3.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_4.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_4.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_5.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_5.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_6.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_6.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_7.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_7.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_8.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_8.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_9.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_9.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/search.css create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/search.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/search_l.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/search_m.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/search_r.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/searchdata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/typedefs_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/typedefs_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_1.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_1.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_2.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_2.js create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/structlarodError.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/structlarodTensorDims.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/structlarodTensorPitches.html create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/larod/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/axis-logo.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/licensekey_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/licensekey_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/licensekey_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/licensekey__dyn_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/licensekey__states_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/licensekey__states_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/licensekey__states_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/licensekey/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/annotated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/annotated_dup.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoChannel.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoFrame.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoMap.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoStream.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/classes.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/deprecated.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_000000_000001.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_bdd9a5d540de89e9fe90efdfc6973a4f.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_defs.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_dup.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_eval.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/navtreeindex1.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/pages.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_1.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_1.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/classes_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/classes_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/close.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/defines_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/defines_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enums_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enums_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enumvalues_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enumvalues_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/files_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/files_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/functions_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/functions_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/mag_sel.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/nomatches.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/pages_0.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/pages_0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search.css create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search_l.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search_m.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search_r.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/search/searchdata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoChunk.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoMemChunk.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoRect.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolution.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__dep__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__dep__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__dep__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__dep__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__incl.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__incl.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h_source.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/bc_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/bdwn.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/closed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/customdoxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doc.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doxygen.css create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doxygen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/dynsections.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/files.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/files.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/folderclosed.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/folderopen.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_defs.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_enum.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_func.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_type.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.dot create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.md5 create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/index.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/jquery.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/menu.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/menudata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/nav_f.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/nav_g.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/nav_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/navtree.css create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/navtree.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/navtreedata.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/navtreeindex0.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/open.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/resize.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/splitbar.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/sync_off.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/sync_on.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/tab_a.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/tab_b.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/tab_h.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/tab_s.png create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/tabs.css create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/video__scene__subscriber_8h.html create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/video__scene__subscriber_8h.js create mode 100644 docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/video__scene__subscriber_8h_source.html create mode 100644 docs/acap-sdk-version-3/develop-applications/application-project-structure.md create mode 100644 docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.md create mode 100644 docs/acap-sdk-version-3/develop-applications/develop-using-visual-studio-code.md create mode 100644 docs/acap-sdk-version-3/develop-applications/index.md create mode 100644 docs/acap-sdk-version-3/develop-applications/reproducible-builds.md create mode 100644 docs/acap-sdk-version-3/develop-applications/supported-languages.md create mode 100644 docs/acap-sdk-version-3/develop-applications/vapix-access-for-acap-applications.md create mode 100644 docs/acap-sdk-version-3/get-started/acap-development-requirements.md create mode 100644 docs/acap-sdk-version-3/get-started/compatibility.md create mode 100644 docs/acap-sdk-version-3/get-started/find-out-which-sdk-to-use.md create mode 100644 docs/acap-sdk-version-3/get-started/index.md create mode 100644 docs/acap-sdk-version-3/get-started/set-up-and-verify-the-sdk.md create mode 100644 docs/acap-sdk-version-3/get-started/set-up-the-device.md create mode 100644 docs/acap-sdk-version-3/index.md create mode 100644 docs/acap-sdk-version-3/introduction/index.md create mode 100644 docs/acap-sdk-version-3/more-resources/index.md create mode 100644 docs/acap-sdk-version-3/services-for-partners/acap-service-portal-for-administrators.md create mode 100644 docs/acap-sdk-version-3/services-for-partners/accept-or-deny-unsigned-acap-applications.md create mode 100644 docs/acap-sdk-version-3/services-for-partners/index.md create mode 100644 docs/acap-sdk-version-3/services-for-partners/package-signing.md create mode 100644 docs/acap-sdk-version-3/what-is-new-in-acap-sdk/index.md diff --git a/README.md b/README.md index f6ceb1a..bdc5268 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,10 @@ -# ACAP version 4 SDK Documentation +# ACAP SDK Documentation -Welcome to the AXIS Camera Application Platform (ACAP) version 4 SDK -[documentation](https://axiscommunications.github.io/acap-documentation), which -is built with [GitHub pages](https://pages.github.com/). +Welcome to the AXIS Camera Application Platform (ACAP) SDK [documentation](https://axiscommunications.github.io/acap-documentation), which is built with [GitHub pages](https://pages.github.com/). ## Contribute -Have you found an error, want to ask a question or give a suggestion? Then -continue to the [Contributing](./CONTRIBUTING.md) page for more information. +Have you found an error, want to ask a question or give a suggestion? Then continue to the [Contributing](./CONTRIBUTING.md) page for more information. ## Copyright diff --git a/_config.yml b/_config.yml index 5193b47..d621723 100644 --- a/_config.yml +++ b/_config.yml @@ -4,10 +4,11 @@ # ------------------------------------------------------------------------------ # Site settings -title: ACAP version 4 SDK Documentation +title: ACAP SDK Documentation description: > - ACAP version 4 SDK Documentation contains two types of SDKs; - a Native SDK and a Computer Vision SDK + ACAP SDK Documentation contains three types of SDKs; the Native SDK and the + Computer Vision SDK from ACAP version 4, as well as the SDK from ACAP version + 3. url: https://axiscommunications.github.io # The base hostname & protocol baseurl: /acap-documentation # The subpath of your site @@ -65,7 +66,7 @@ color_scheme: axis # Launch GitHub link on top in new web browser tab aux_links_new_tab: true aux_links: - "ACAP version 4 SDK documentation on GitHub": + "ACAP SDK documentation on GitHub": - //github.com/AxisCommunications/acap-documentation search_enabled: true diff --git a/_layouts/acap_sdk_version_3.html b/_layouts/acap_sdk_version_3.html new file mode 100644 index 0000000..fceb50f --- /dev/null +++ b/_layouts/acap_sdk_version_3.html @@ -0,0 +1,12 @@ +--- +layout: page +--- + + + +
+ This page contains information relating to an older version of ACAP. See here for the latest version. +
+ + {{ content }} + diff --git a/_sass/color_schemes/axis-colors.scss b/_sass/color_schemes/axis-colors.scss index 6581d97..5bde4dd 100644 --- a/_sass/color_schemes/axis-colors.scss +++ b/_sass/color_schemes/axis-colors.scss @@ -16,9 +16,10 @@ $color-warm-gray-03: #e6e3e0; $color-warm-gray-04: #d8cfc6; $color-warm-gray-05: #9a8b7d; +$color-gray-01: #e6e5e5; +$color-gray-02: #cccccc; +$color-gray-04: #8c8c8c; $color-gray-05: #666666; $color-gray-06: #555555; $color-gray-07: #444444; $color-gray-08: #333333; - - diff --git a/_sass/color_schemes/axis.scss b/_sass/color_schemes/axis.scss index ae07862..3af6abe 100644 --- a/_sass/color_schemes/axis.scss +++ b/_sass/color_schemes/axis.scss @@ -24,12 +24,12 @@ $link-color: $color-brand-08; // Left menu changes // Axis logo -.side-bar .site-header{ +.side-bar .site-header { background-color: $white; } // Keep the left menu items as text color -.side-bar .site-nav .nav-list .nav-list-item .nav-list-link{ +.side-bar .site-nav .nav-list .nav-list-item .nav-list-link { color: $color-text-01; } @@ -55,3 +55,9 @@ $link-color: $color-brand-08; border-left-color: $color-brand-01; } } + +// Older ACAP SDK versions + +.acap-sdk-version-3 { + background-color: $color-gray-01; +} \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/index.md b/docs/acap-sdk-version-3/api/index.md new file mode 100644 index 0000000..6a23c1e --- /dev/null +++ b/docs/acap-sdk-version-3/api/index.md @@ -0,0 +1,428 @@ +--- +layout: acap_sdk_version_3 +parent: ACAP SDK version 3 +title: API +nav_order: 6 +--- +# API + +- [Audio API](#audio-api) +- [Video Capture API](#video-capture-api) +- [Media Capture API (deprecated)](#media-capture-api-deprecated) +- [Machine Learning API](#machine-learning-api) +- [Overlay API](#overlay-api) +- [Open standard APIs](#open-standard-apis) +- [Parameter API](#parameter-api) +- [HTTP API](#http-api) +- [Event API](#event-api) +- [Edge storage API](#edge-storage-api) +- [License API](#license-api) +- [Serial port API](#serial-port-api) +- [Pan tilt zoom API](#pan-tilt-zoom-api) + +## Audio API + +Go to the [ACAP API documentation](./src/api/axaudio/html/index.html) for detailed functional descriptions and examples of this API. + +The Axaudio API allows the application to: + +- retrieve compressed or uncompressed audio in different formats, from the camera +- send uncompressed audio to cameras with audio output +- configure sample rates and bitrates for some compressed formats + +The API supports several get methods that returns supported formats for a camera or other audio product. + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- Ambarella S2L +- i.MX 6SoloX +- i.MX 6ULL + +### Version history + +This API was introduced in API version earlier than 3.0. + +## Video capture API + +Go to the [ACAP API documentation](./src/api/vdostream/html/index.html) for detailed functional descriptions and examples of this API. + +The VdoStream API provides: + +- video and image stream +- video and image capture +- video and image configuration + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 + +#### Limitations + +**Global rotation** – All platforms except ARTPEC-6 support global image source rotation. This feature is designed to utilize the hardware more efficiently. You need to take this into consideration when designing applications for multiple platforms. The Video capture API on ARTPEC-6 allows specifying the desired rotation per stream. For other chips this is a global option set when the camera is installed, and any attempt to specify capture rotation is ignored. + +### Version history + +The VdoStream API was introduced in API version 3.0. + +| Axis OS version | VdoStream API version | New functions added | +| --------------- | --------------------- | ------------------- | +| 10.2 | 2.3.13 | `vdo_stream_snapshot`
`vdo_stream_set_framerate`
`vdo_channel_get_filtered`| +| 10.3 | 3.0.0 | - | +| 10.4 | 4.0.12 | `vdo_buffer_get_id`| +| 10.5 | 5.0.25 | - | +| 10.6 | 5.9.14 | `vdo_channel_set_framerate`| +| 10.7 | 6.13.0 | `vdo_frame_take_chunk`| +| 10.8 | 6.24.1 | `vdo_zipstream_profile_get_type`
`vdo_frame_set_header_size`| +| 10.9 | 6.34.16 | `vdo_stream_get_event`
`vdo_stream_get_event_fd`
`vdo_map_swap` | +| 10.10 | 7.5.22 | `vdo_frame_take_chunk`
`vdo_frame_take_chunk_ex`
`vdo_stream_play`| +| 10.11 | 7.19.2 | - | +| 10.12 | 8.0.15 | `vdo_map_get_pair32i`
`vdo_map_get_pair32u`
`vdo_map_set_pair32i`
`vdo_map_set_pair32u` | +| 11.0 | 9.0.4 | - | + +### Known issues + +VdoStream has a memory leak in products with an ARTPEC chip using firmware version 10.10 or later. The issue was fixed in firmware version 10.11.65. The issue affects the `vdo_buffer_get_data` function. + +### Code examples + +#### Capture video stream + +This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/vdostream) starts a vdo stream and then illustrates how to continuously capture frames from the vdo service, access the received buffer contents as well as the frame metadata. + +#### libvdo and larod combined + +This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/vdo-larod) loads an image classification model to larod and then uses vdo to fetch frames of size WIDTH x HEIGHT in yuv format which are converted to interleaved rgb format and then sent to larod for inference on MODEL. + +## Media Capture API (deprecated) + +Go to the [ACAP API documentation](./src/api/capture/html/index.html) for detailed functional descriptions and examples of this API. + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-7 +- ARTPEC-6 +- Ambarella S5L +- Ambarella S5 +- Ambarella S3L +- Ambarella S2L + +### Version history + +Media Capture API was deprecated and removed in version 3.5. + +## Machine learning API + +Go to the [ACAP API documentation](./src/api/larod/html/index.html) for detailed functional descriptions and examples of this API. + +Larod provides a simple unified C API for efficiently running machine learning and image preprocessing. The purpose of Larod is to provide a unified API for all hardware platforms with very little overhead and to arbitrate between different processes (apps) requesting access to the same hardware. + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- Ambarella CV25 +- Ambarella S5L + +For products with a DLPU (Deep Learning Processing Unit), inference runs on the DLPU otherwise it runs on the CPU. + +### Version history + +| Larod API version | ACAP API version | What's new | +| ----------------- | ---------------- | ---------- | +| 1.0 | 3.1 | Larod API introduced | +| 2.0 | 3.3 | - [Preprocessing functionality](./src/api/larod/html/md__opt_builder-doc_larod_doc_preprocessing.html)
- Handles TFLite when using firmware version 10.6 and later. | +| 3.0 | 3.5 | - The larodDevice struct replaces larodChip.
- Different handling of cache when using buffers. | + +> **Note** +> We recommend using Larod version 2.0 or 3.0. Larod version 1.0 will soon be deprecated. To use Larod 1.0, define `LAROD_API_VERSION_1` in your application, see **Backward compatibility** in [Introduction to larod for app developers](./src/api/larod/html/md__opt_builder-doc_larod_doc_introduction-for-app-developers.html) for more information. + +### Code examples + +#### Extract and analyze output + +This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/larod) connects to larod and loads a model, runs inference on it and then finally deletes the loaded model from larod. + +#### libvdo and larod combined + +This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/vdo-larod) loads an image classification model to larod and then uses vdo to fetch frames of size WIDTH x HEIGHT in yuv format which are converted to interleaved rgb format and then sent to larod for inference on MODEL. + +## Overlay API + +Go to the [ACAP API documentation](./src/api/axoverlay/html/index.html) for detailed functional descriptions and examples of this API. + +The Axoverlay API is a helper library that enables an ACAP application to draw overlays in selected video streams. It has built-in support for Cairo as rendering API, as well as an open backend for any other custom rendering. + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 + +### Version history + +The Axoverlay API was introduced in API version 3.0. + +### Code examples + +#### Draw plain boxes and text + +This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/axoverlay) shows how to draw plain boxes and text as overlays in a stream with the Axoverlay API. + +## Open standard APIs + +| Name | Description | Use cases | Compatibility | Documentation | +| ---- | ----------- | --------- | ------------- | ------------- | +| Cairo 1.16.0 | - Open-source rendering library for 2D vector graphics.
- For use with Ax_Overlay. | - Rendering texts for internal text overlays.
- Rendering lines, bounding boxes or any vector shapes.
- Loading SVG. | - ARTPEC-8
- ARTPEC-7
- ARTPEC-6
- Ambarella CV25
- Ambarella S5L
- Ambarella S5
- Ambarella S3L
- Ambarella S2L | See [Cairo documentation](https://www.cairographics.org/documentation/) | +| OpenGL ES 2.0 | Accelerate graphics rendering with GPU. | - Rendering mask for Axis Live Privacy Shield.
- Rendering GUI for door camera with display information as PTZ or a street name. | - ARTPEC-8
- ARTPEC-7 | See [OpenGL ES documentation](https://www.khronos.org/opengles/) | +| OpenCL 1.2 | Accelerate parallel compute with GPU. | - Color conversion (e.g. as pre-processing for DL and analytics.
- Audio filter.
- Accelerates OpenCV. | - ARTPEC-8
- ARTPEC-7
Note: GPU is disabled on some devices due to memory limitations. | See [OpenCL documentation](https://www.khronos.org/opencl/) | +| OpenVX 1.0 | Accelerate computer vision with GPU. | - perspective transform (e.g. as pre-processing for DL and analytics).
- Non real-time DL. | - ARTPEC-8
- ARTPEC-7 | See [OpenVX documentation](https://www.khronos.org/openvx/) | + +### Version history + +The open standard APIs were introduced in API version 3.0. + +## Parameter API + +Go to the [ACAP API documentation](./src/api/axparameter/html/index.html) for detailed functional descriptions and examples of this API. + +The AxParameter API allows the application to save data and application settings so that they are not lost during a restart or firmware upgrade of the Axis product. + +AxParameter makes it possible to define callback functions that perform specific actions if a parameter is updated, for example if the user updates a parameter using the Axis product's web pages. + +> **Note** +> Data that's only used and altered by the application should not be handled by AxParameter. Such data can instead be handled by, for example, GLib GKeyFile. + +Parameters specific to the application can be pre-configured when the application is created or be added in runtime. + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- Ambarella S3L +- Ambarella S2L +- i.MX 6SoloX +- i.MX 6ULL + +### Version history + +This API was introduced in API version earlier than 3.0. + +## HTTP API + +Go to the [ACAP API documentation](./src/api/axhttp/html/index.html) for detailed functional descriptions and examples of this API. + +The AxHTTP API allows the application to act as a CGI. This is done through a socket transfer to the ACAP application. This is a useful way to provide a configuration API, or updated information from the ACAP application. The information or configuration can then be accessed in ACA through a page provided by the ACAP application. + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- Ambarella S3L +- Ambarella S2L +- i.MX 6SoloX +- i.MX 6ULL + +### Version history + +This API was introduced in API version earlier than 3.0. + +## Event API + +Go to the [ACAP API documentation](./src/api/axevent/html/index.html) for detailed functional descriptions and examples of this API. + +The Axevent API provides: + +- an interface to the event system found in Axis products. +- applications with a mechanism for sending and receiving events. + +An application can both send and receive events. + +### Event types + +- **Stateless (Pulse)** – An event that indicates that something has occurred. Typically used to trigger some action rule. +- **Stateful (State)** – An event with an active and inactive state. Typically used in action rules like "record while +active". +- **Data (Application Data)** – An event that includes data that needs to be processed by the consuming application such as transaction data, license plate or other dynamic data. A data event is normally not used to trigger generic action rules. + +### Supported Namespaces + +When declaring events it is required to set a namespace. Following are the supported namespaces: + +- `tnsaxis` – Axis namespace to use with Axis events +- `tns1` – ONVIF namespace to use with ONVIF events + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- Ambarella S3L +- Ambarella S2L +- i.MX 6SoloX +- i.MX 6ULL + +### Version history + +| Event API version | ACAP API version | What's new | +| ----------------- | ---------------- | ---------- | +| 1.0 | ACAP 2 | Event API introduced | +| 1.1 | 3.2 | New functions:
- ax_event_new2
- ax_event_get_time_stamp2| + +> **Note** +> +> - `ax_event_new` and `ax_event_get_time_stamp` functions are marked as deprecated from ACAP API version 3.2 because they use [GTimeVal](https://developer.gnome.org/glib/stable/glib-Date-and-Time-Functions.html#GTimeVal), which is deprecated in glib. Use `ax_event_new2` and `x_event_get_time_stamp2` instead. +> - To prevent installation of an application (using the Event API) on unsupported firmware (version 10.2 and earlier), set `REQEMBDEVVERSION` to `2.18` (or higher) in `package.conf` or `manifest.json`. + +### Code examples + +#### Subscribe to and send event + +This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/axevent) illustrates both how to subscribe to different events and how to send an event. + +## Edge storage API + +Go to the [ACAP API documentation](./src/api/axstorage/html/index.html) for detailed functional descriptions and examples of this API. + +The AxStorage API allows the application to save and retrieve data on mounted storage devices such as SD cards and NAS (Network Attached Storage) units. An application can only modify its own files on the storage device. + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- Ambarella S3L +- Ambarella S2L +- i.MX 6SoloX +- i.MX 6ULL + +### Version history + +This API was introduced in API version earlier than 3.0. + +## License API + +Go to the [ACAP API documentation](./src/api/licensekey/html/index.html) for detailed functional descriptions and examples of this API. + +Use the LicenseKey API to validate an application license key. + +A license key is a signed file, generated for a specific device ID and application ID. The ACAP Service Portal maintains both license keys and application IDs. + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- Ambarella S3L +- Ambarella S2L +- i.MX 6SoloX +- i.MX 6ULL + +> **Note** +> For ACAP applications built using `manifest.json`, license key handling is supported from firmware version 10.6 and later. + +### Version history + +This API was introduced in API version earlier than 3.0. + +### Code examples + +#### Status of a license key + +This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/licensekey) shows how to check the status of a license key. + +## Serial port API + +Go to the [ACAP API documentation](./src/api/axserialport/html/index.html) for detailed functional descriptions and examples of this API. + +The AxSerialPort API allows the application to configure and control the external serial port on selected Axis products. + +### Compatibility + +The API is product dependent since not all Axis products are equipped with a serial port. + +The API supports the RS-232, RS-422 and RS-485 standard. + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 + +### Version history + +This API was introduced in API version earlier than 3.0. + +## Pan tilt zoom API + +Go to the ACAP [API documentation](./src/api/axptz/html/index.html) for detailed functional descriptions and examples of this API. + +The AxPTZ API allows the application to control the camera's pan, tilt and zoom movements, to interact with the PTZ control queue and to create and delete preset positions. + +> **Important** +> The AXPTZ library is designed to be used with the GLib library. An application using the AXPTZ library must have a running GMainLoop. + +> **Note** +> The AXPTZ library has an internal reference counter. If using the pattern: create library, create library, ..., call function, call function, ..., destroy library, destroy library, ..., the library will be thread safe. It is recommended to call the create and destroy functions once in the main thread of the application. + +### Compatibility + +The API supports products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S3L +- Ambarella S2L + +### Version history + +This API was introduced in API version earlier than 3.0. diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/examples/LICENSE b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/LICENSE new file mode 100644 index 0000000..e4ae687 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/LICENSE @@ -0,0 +1 @@ +Third Party Software Licenses diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/examples/Makefile b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/Makefile new file mode 100644 index 0000000..6979a9b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/Makefile @@ -0,0 +1,22 @@ +AXIS_USABLE_LIBS = UCLIBC GLIBC +include $(AXIS_TOP_DIR)/tools/build/rules/common.mak + +PROGS = audioApp + +CFLAGS += -Wall -g -O2 -lm +LDFLAGS += -lm + +PKGS = glib-2.0 gio-2.0 axaudio +CFLAGS += $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --cflags $(PKGS)) +LDLIBS += $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --libs $(PKGS)) + +SRCS = axaudioexample.c +OBJS = $(SRCS:.c=.o) + +all: $(PROGS) + +$(PROGS): $(OBJS) + $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@ + +clean: + rm -f $(PROGS) *.o diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/examples/README b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/README new file mode 100644 index 0000000..89649c0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/README @@ -0,0 +1,2 @@ +# Note that this example is only valid for devices with capability +# for Audio output (enabled) \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/examples/axaudioexample.c b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/axaudioexample.c new file mode 100644 index 0000000..cbe219e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/axaudioexample.c @@ -0,0 +1,236 @@ +#include +#include +#include +#include +#include + +#define APP_NAME "audioApp" + + +static GMainLoop *loop = NULL; + + +typedef struct _ExampleData { + AXAudioStream *stream; + GFileOutputStream *output_stream; + guint totalbytes; + guint frames_received; + GQueue *frame_queue; + GMutex lock; + guint64 timestamp; +} ExampleData; + +/* Signals handling */ +static void +handle_sigterm(int signo) +{ + g_main_loop_quit(loop); +} + +static void +init_signals(void) +{ + struct sigaction sa; + + sa.sa_flags = 0; + + sigemptyset(&sa.sa_mask); + sa.sa_handler = handle_sigterm; + sigaction(SIGTERM, &sa, NULL); + sigaction(SIGINT, &sa, NULL); +} + +/* This function will get all existing frames in the queue and write to file */ +static gboolean +frame_analyzer(gpointer data) +{ + ExampleData *example_data = data; + AXAudioFrame *audio_frame = NULL; + + do { + g_mutex_lock(&example_data->lock); + audio_frame = g_queue_pop_head(example_data->frame_queue); + g_mutex_unlock(&example_data->lock); + + if (audio_frame != NULL) { + example_data->timestamp = ax_audio_frame_get_timestamp(audio_frame); + example_data->totalbytes += ax_audio_frame_get_size(audio_frame); + + /* write frame to file */ + g_output_stream_write_all((GOutputStream*) example_data->output_stream, + ax_audio_frame_get_data(audio_frame), + ax_audio_frame_get_size(audio_frame), NULL, + NULL, NULL); + + ax_audio_frame_free(audio_frame); + } + } while (audio_frame); + + return TRUE; +} + +/* This function is run in an separate thread that will get audio frames and + * put them into a queue */ +static gpointer +frame_retriever(gpointer data) +{ + ExampleData *example_data = data; + AXAudioFrame * audio_frame = NULL; + GError *error = NULL; + + while (TRUE) { + example_data->frames_received++; + + /* read numaudio_frames frames of audio data */ + audio_frame = ax_audio_stream_get_frame(example_data->stream, &error); + + if (!audio_frame) { + /* nothing to read, this is an error */ + syslog(LOG_WARNING, + "Failed to get audio frame got error code: %d and error message: %s", + error->code, error->message); + g_error_free(error); + return NULL; + } else { + /* add frame to queue */ + g_mutex_lock(&example_data->lock); + g_queue_push_tail(example_data->frame_queue, audio_frame); + g_mutex_unlock(&example_data->lock); + } + } +} + + +static AXAudioFrame * +generate_sine(gint length, gint frequency, guint sound_level) +{ + guint frame_rate = 16000; + guint sample_per_sin = frame_rate / frequency; + AXAudioFrame *frame = ax_audio_frame_new(); + gint16 *data = g_malloc0(sizeof(gint16) * frame_rate * length); + gint i = 0; + + for (;i < (frame_rate * length); i++) { + data[i] = sin((2 * G_PI / ((sample_per_sin)) * i)) * sound_level; + } + ax_audio_frame_set_data(frame, (gpointer)data, sizeof(gint16)* frame_rate * length, (GFreeFunc)&g_free, NULL); + + return frame; +} + +gint +main(gint argc, gchar *argv[]) +{ + GError *error = NULL; + AXAudioStream * stream = NULL; + ExampleData *example_data = NULL; + GFile *file = NULL; + GFileOutputStream *output_stream = NULL; + guint analyser_source_id; + GThread *frame_th = NULL; + AXAudioFrame *frame = NULL; + AXAudioOutput *output = NULL; + +#if !GLIB_CHECK_VERSION(2,36,0) + g_type_init(); +#endif + init_signals(); + loop = g_main_loop_new(NULL, FALSE); + + openlog(APP_NAME, LOG_PID, LOG_LOCAL4); + + syslog(LOG_INFO, "Starting %s", APP_NAME); + + /* play a generated tone of 400 Hz for 2 seconds */ + frame = generate_sine(2, 400, 15000); + + output = ax_audio_open_output_pcm_16(-1, 16000, AX_AUDIO_CHANNEL_MONO, &error); + if (output == NULL) { + syslog(LOG_WARNING, "Failed to open playback, code: %d and error message: %s", + error->code, error->message); + goto error_out; + } + + if (!ax_audio_output_play_pcm_16(output, frame, &error)) { + syslog(LOG_WARNING, "Failed to play, code: %d and error message: %s", + error->code, error->message); + goto error_out; + } + + if (!ax_audio_output_close_pcm_16(output, &error)) { + syslog(LOG_WARNING, "Failed to close playback, code: %d and error message: %s", + error->code, error->message); + goto error_out; + } + + /* open up a raw audio stream */ + stream = ax_audio_open_pcm_16_stream(1, 16000, AX_AUDIO_CHANNEL_MONO, &error); + if (stream == NULL) { + syslog(LOG_WARNING, "Failed with error code: %d and error message: %s", + error->code, error->message); + goto error_out; + } + + /* setting up for saving stream to file */ + file = g_file_new_for_path("/tmp/raw_audio.raw"); + output_stream = g_file_replace(file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, + NULL); + + syslog(LOG_INFO, + "RAW audio stream with bit depth: %d and samplerate: %d is setup", + ax_audio_stream_get_bit_depth(stream), + ax_audio_stream_get_samplerate(stream)); + + /* initialize data structure */ + example_data = g_malloc(sizeof *example_data); + example_data->stream = stream; + example_data->output_stream = output_stream; + example_data->frames_received = 0; + example_data->totalbytes = 0; + example_data->frame_queue = g_queue_new(); + g_mutex_init(&example_data->lock); + + /* start a timeout source that will analyze audio frames each 500 ms */ + analyser_source_id = g_timeout_add(500, frame_analyzer, example_data); + + /* start a threads that retrieves audio frames */ + frame_th = g_thread_new("frame retriver", frame_retriever, example_data); + + /* start the main loop */ + g_main_loop_run(loop); + + syslog(LOG_INFO, + "Totally %d bytes of audio data was received by %s. The timestamp " + "of the latest retrived frame was: %" G_GUINT64_FORMAT "\n", + example_data->totalbytes, APP_NAME, example_data->timestamp); + + + /* close analyzer source */ + g_source_remove(analyser_source_id); + + /* unref the main loop when the main loop has been quit */ + g_main_loop_unref(loop); + + g_thread_unref(frame_th); + + /* free */ + g_output_stream_close((GOutputStream*) output_stream, NULL, NULL); + g_object_unref(output_stream); + g_mutex_clear(&example_data->lock); + g_queue_free(example_data->frame_queue); + g_free(example_data); + + error_out: + + if (error != NULL) { + g_error_free(error); + } + if (frame != NULL) { + ax_audio_frame_free(frame); + } + + ax_audio_stream_close(stream, NULL); + syslog(LOG_INFO, "Quitting %s", APP_NAME); + + return 0; +} diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/examples/package.conf b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/package.conf new file mode 100644 index 0000000..2bb17af --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/examples/package.conf @@ -0,0 +1,25 @@ +PACKAGENAME="audioApp" +MENUNAME="" +APPTYPE="armv7hf" +APPNAME="audioApp" +APPID="" +LICENSENAME="Proprietary" +LICENSEPAGE="none" +LICENSE_CHECK_ARGS="" +VENDOR="-" +REQEMBDEVVERSION="2.0" +APPMAJORVERSION="1" +APPMINORVERSION="0" +APPMICROVERSION="" +APPGRP="sdk" +APPUSR="sdk" +APPOPTS="" +OTHERFILES="" +SETTINGSPAGEFILE="" +SETTINGSPAGETEXT="" +VENDORHOMEPAGELINK='' +PREUPGRADESCRIPT="" +POSTINSTALLSCRIPT="" +STARTMODE="never" +HTTPCGIPATHS="" +AUTOSTART="" diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/annotated.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/annotated.html new file mode 100644 index 0000000..35fa62d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/annotated.html @@ -0,0 +1,84 @@ + + + + + + + +AXaudio: Data Structures + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/annotated_dup.js b/docs/acap-sdk-version-3/api/src/api/axaudio/html/annotated_dup.js new file mode 100644 index 0000000..e0fd06c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/annotated_dup.js @@ -0,0 +1,6 @@ +var annotated_dup = +[ + [ "_AXAudioFrame", "struct__AXAudioFrame.html", "struct__AXAudioFrame" ], + [ "_AXAudioOutput", "struct__AXAudioOutput.html", "struct__AXAudioOutput" ], + [ "_AXAudioStream", "struct__AXAudioStream.html", "struct__AXAudioStream" ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__config_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__config_8h_source.html new file mode 100644 index 0000000..b1a317c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__config_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +AXaudio: ax_audio_config.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
ax_audio_config.h
+
+
+
1 #ifndef _AX_AUDIO_CONFIG_H_
2 #define _AX_AUDIO_CONFIG_H_
3 
4 guint ax_audio_get_nbr_of_audio_sources (void);
5 guint ax_audio_get_nbr_of_audio_channels (void);
6 guint ax_audio_get_default_sample_rate (void);
7 
8 #endif
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__datatypes_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__datatypes_8h_source.html new file mode 100644 index 0000000..507851e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__datatypes_8h_source.html @@ -0,0 +1,84 @@ + + + + + + + +AXaudio: ax_audio_datatypes.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
ax_audio_datatypes.h
+
+
+
1 #ifndef _AX_AUDIO_DATATYPES_H_
2 #define _AX_AUDIO_DATATYPES_H_
3 
4 #include <glib.h>
5 #include "axaudio.h"
6 
7 /* audio specific */
8 #define AUDIO_BITRATE_G711 64000
9 #define AUDIO_SAMPLERATE_G7XX 8000
10 #define DEFAULT_AUDIO_SOURCE 1
11 #define DEFAULT_AUDIO_CHANNEL 1
12 #define DEFAULT_AUDIO_ON_OFF 1
13 #define DEFAULT_AUDIO_G726_BIT_DEPTH 4
14 #define AUDIO_G711_BIT_DEPTH 8
15 
16 
18 {
19  guint size;
20  guint64 timestamp;
21  gpointer data;
22  GFreeFunc free_function;
23 };
24 
26 {
27  guint bit_depth;
28  gint audio_source;
29  AXAudioChannel channel_cap;
30  gint samplerate;
31  gint bitrate;
32  guint period_time; /* typical 64 ms window of sample data */
33  AXAudioCodec codec;
34 
35  gint fd;
36  guint id;
37  gint size;
38 };
39 
41 {
42  gint audio_sink;
43  gpointer handle;
44  AXAudioChannel channel_cap;
45  gint samplerate;
46 };
47 #endif /* _AX_AUDIO_DATATYPES_H_ */
The main include for the AXAudio interface and its associated functions.
+
Definition: ax_audio_datatypes.h:17
+
Definition: ax_audio_datatypes.h:40
+
Definition: ax_audio_datatypes.h:25
+
AXAudioCodec
Definition: axaudio.h:57
+
AXAudioChannel
Definition: axaudio.h:48
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h.html new file mode 100644 index 0000000..77cb35a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h.html @@ -0,0 +1,163 @@ + + + + + + + +AXaudio: ax_audio_error.h File Reference + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+ +
+
ax_audio_error.h File Reference
+
+
+ +

AXAudio error codes. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Macros

+#define AX_AUDIO_ERROR
 A convenience macro for generating new GErrors.
 
+ + + +

+Enumerations

enum  AXAudioErrorCode {
+  AX_AUDIO_GENERIC_ERROR, +AX_AUDIO_CONNECT_ERROR, +AX_AUDIO_CODEC_ERROR, +AX_AUDIO_SOURCE_ERROR, +
+  AX_AUDIO_CHANNEL_ERROR, +AX_AUDIO_BIT_RATE_ERROR, +AX_AUDIO_SAMPLE_RATE_ERROR, +AX_AUDIO_SAMPLE_BIT_RATE_COMB_ERROR, +
+  AX_AUDIO_PLAYBACK_ERROR, +AX_AUDIO_PLAYBACK_NOT_SUPPORTED_ERROR, +AX_AUDIO_PARAM_ERROR +
+ }
 
+ + + +

+Functions

+GQuark ax_audio_error_quark (void)
 
+

Detailed Description

+

AXAudio error codes.

+

Enumeration Type Documentation

+ +

◆ AXAudioErrorCode

+ +
+
+ + + + +
enum AXAudioErrorCode
+
+

Specifies the available error codes

+ + + + + + + + + + + + +
Enumerator
AX_AUDIO_GENERIC_ERROR 

Generic error

+
AX_AUDIO_CONNECT_ERROR 

Connection to audio source is failing

+
AX_AUDIO_CODEC_ERROR 

Codec is not supported

+
AX_AUDIO_SOURCE_ERROR 

Audio source does not exist

+
AX_AUDIO_CHANNEL_ERROR 

Audio source does not support the chosen AXAudioChannel

+
AX_AUDIO_BIT_RATE_ERROR 

Bit rate is not supported by the codec.

+
AX_AUDIO_SAMPLE_RATE_ERROR 

Sample rate is not supported by the codec

+
AX_AUDIO_SAMPLE_BIT_RATE_COMB_ERROR 

Bit rate and sample rate combination is not valid

+
AX_AUDIO_PLAYBACK_ERROR 

Playback does not work, resource can be busy

+
AX_AUDIO_PLAYBACK_NOT_SUPPORTED_ERROR 

Playback is not supported

+
AX_AUDIO_PARAM_ERROR 

Parameter error eg. the parameter is empty

+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h.js b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h.js new file mode 100644 index 0000000..adb6a74 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h.js @@ -0,0 +1,18 @@ +var ax__audio__error_8h = +[ + [ "AX_AUDIO_ERROR", "ax__audio__error_8h.html#afa07453434bc7e33ceae4c7d9dbeebc6", null ], + [ "AXAudioErrorCode", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674", [ + [ "AX_AUDIO_GENERIC_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674a59953ada36e96b98c629eca5b37a7b97", null ], + [ "AX_AUDIO_CONNECT_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674af6999b931c31c9a45189266f8dc82f9a", null ], + [ "AX_AUDIO_CODEC_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674a53ef7b2aa41e36b12d5729d48d555b9e", null ], + [ "AX_AUDIO_SOURCE_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674a9960ffcf95c5d81cfdd6cc3c5d3f60c9", null ], + [ "AX_AUDIO_CHANNEL_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674a5e4a0bdbb5d95ccb76d12569760bae7d", null ], + [ "AX_AUDIO_BIT_RATE_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674a8fd2ad5a18f9e443ddd063873e4d7076", null ], + [ "AX_AUDIO_SAMPLE_RATE_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674a5fb94d3f126544704917e33fda356c95", null ], + [ "AX_AUDIO_SAMPLE_BIT_RATE_COMB_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674ab5aa92aeda4cc4ba5b8ceb614d98a53a", null ], + [ "AX_AUDIO_PLAYBACK_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674a20dc4282d6883b5bbe759ef8213df626", null ], + [ "AX_AUDIO_PLAYBACK_NOT_SUPPORTED_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674a47af080ac52c1a87d8fa08548c710893", null ], + [ "AX_AUDIO_PARAM_ERROR", "ax__audio__error_8h.html#a29d69d7626c02766168b201eadfd9674a7886b2cc6de178991180d4cd23c2adb7", null ] + ] ], + [ "ax_audio_error_quark", "ax__audio__error_8h.html#a561b35cf7b409e94be004a354ef383e7", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h_source.html new file mode 100644 index 0000000..82c7de8 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__error_8h_source.html @@ -0,0 +1,90 @@ + + + + + + + +AXaudio: ax_audio_error.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
ax_audio_error.h
+
+
+Go to the documentation of this file.
1 #ifndef _AX_AUDIO_ERROR_H_
2 #define _AX_AUDIO_ERROR_H_
3 
12 #define AX_AUDIO_ERROR (ax_audio_error_quark())
13 
14 
19 typedef enum {
33 
34 
35 
36 GQuark
37 ax_audio_error_quark(void);
38 
39 #endif /* _AX_AUDIO_ERROR_H_ */
Definition: ax_audio_error.h:24
+
Definition: ax_audio_error.h:22
+
AXAudioErrorCode
Definition: ax_audio_error.h:19
+
Definition: ax_audio_error.h:21
+
Definition: ax_audio_error.h:28
+
Definition: ax_audio_error.h:27
+
Definition: ax_audio_error.h:25
+
Definition: ax_audio_error.h:26
+
Definition: ax_audio_error.h:20
+
Definition: ax_audio_error.h:30
+
Definition: ax_audio_error.h:23
+
Definition: ax_audio_error.h:29
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__output_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__output_8h_source.html new file mode 100644 index 0000000..0208161 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__output_8h_source.html @@ -0,0 +1,82 @@ + + + + + + + +AXaudio: ax_audio_output.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
ax_audio_output.h
+
+
+
1 #ifndef _AX_AUDIO_PLAY_H_
2 #define _AX_AUDIO_PLAY_H_
3 
4 #include <alsa/asoundlib.h>
5 
6 #include "axaudio.h"
7 #include "ax_audio_datatypes.h"
8 
9 
11 ax_audio_open_output_pcm_16_internal(gint audio_sink, gint samplerate,
12  AXAudioChannel channel, GError **error);
13 
14 gboolean
15 ax_audio_output_play_pcm_16_internal(AXAudioOutput *output,
16  const AXAudioFrame *frame, GError **error);
17 
18 gboolean
19 ax_audio_output_close_pcm_16_internal(AXAudioOutput *output, GError **error);
20 
21 
22 #endif
The main include for the AXAudio interface and its associated functions.
+
Definition: ax_audio_datatypes.h:17
+
Definition: ax_audio_datatypes.h:40
+
AXAudioChannel
Definition: axaudio.h:48
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__utils_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__utils_8h_source.html new file mode 100644 index 0000000..2a36e19 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/ax__audio__utils_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +AXaudio: ax_audio_utils.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
ax_audio_utils.h
+
+
+
1 #ifndef _AX_AUDIO_UTILS_H
2 #define _AX_AUDIO_UTILS_H
3 
4 ssize_t
5 safe_recv(int fd, void *buf, size_t count, int flags);
6 
7 ssize_t
8 safe_send(int fd, void *buf, size_t count, int flags);
9 
10 #endif /* _AX_AUDIO_UTILS_H */
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h.html new file mode 100644 index 0000000..4f6c528 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h.html @@ -0,0 +1,1416 @@ + + + + + + + +AXaudio: axaudio.h File Reference + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+ +
+
axaudio.h File Reference
+
+
+ +

The main include for the AXAudio interface and its associated functions. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + +

+Typedefs

+typedef struct _AXAudioOutput AXAudioOutput
 Opaque structure for the AXAudioOutput.
 
+typedef struct _AXAudioStream AXAudioStream
 Opaque structure for the AXAudioStream.
 
+typedef struct _AXAudioFrame AXAudioFrame
 Opaque structure for the AXAudioFrame.
 
+ + + + + +

+Enumerations

enum  AXAudioChannel { AX_AUDIO_CHANNEL_MONO, +AX_AUDIO_CHANNEL_STEREO + }
 
enum  AXAudioCodec {
+  AX_AUDIO_PCM_16, +AX_AUDIO_G711, +AX_AUDIO_G726, +AX_AUDIO_AAC, +
+  AX_AUDIO_OPUS +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

guint ax_audio_get_sources (guint **sources)
 Retrieve a numbered list of audio sources. More...
 
gboolean ax_audio_get_channel_capability (guint audio_source, AXAudioChannel *channel_cap)
 Retrieve the channel capability of the audio source. More...
 
gint ax_audio_get_codecs (AXAudioCodec **codecs)
 Retrieve a list of available codecs. More...
 
gint ax_audio_get_samplerates (gint **samplerates, AXAudioCodec codec, GError **error)
 Retrieve a list of available sample rates for the specified codec. More...
 
gint ax_audio_get_bitrates (guint **bitrates, AXAudioCodec codec, gint samplerate, GError **error)
 Retrieve a list of available bit rates for the specified codec and sample rate. More...
 
AXAudioOutputax_audio_open_output_pcm_16 (gint audio_sink, gint samplerate, AXAudioChannel channel, GError **error)
 Open a raw signed PCM16 audio output. More...
 
gboolean ax_audio_output_play_pcm_16 (AXAudioOutput *output, const AXAudioFrame *frame, GError **error)
 Play raw signed PCM16 audio data. Interleaved LRLRLR if more than one channel is supported. This function will block until the whole frame is played. More...
 
gboolean ax_audio_output_close_pcm_16 (AXAudioOutput *output, GError **error)
 Close the raw signed PCM16 audio output. More...
 
AXAudioStreamax_audio_open_pcm_16_stream (gint audio_source, gint samplerate, AXAudioChannel channel, GError **error)
 Open a new raw signed PCM 16 audio stream. More...
 
AXAudioStreamax_audio_open_opus_stream (gint bitrate, gint samplerate, gint audio_source, AXAudioChannel channel, GError **error)
 Open a new Opus audio stream. More...
 
AXAudioStreamax_audio_open_aac_stream (gint bitrate, gint samplerate, gint audio_source, AXAudioChannel channel, GError **error)
 Open a new AAC audio stream. More...
 
AXAudioStreamax_audio_open_g711_stream (gint audio_source, GError **error)
 Open a new G.711 audio stream. More...
 
AXAudioStreamax_audio_open_g726_stream (gint bitrate, gint audio_source, GError **error)
 Open a new G.726 audio stream. More...
 
gboolean ax_audio_stream_close (AXAudioStream *stream, GError **error)
 Close a running audio stream. More...
 
gboolean ax_audio_stream_get_channel_capability (const AXAudioStream *stream, AXAudioChannel *channel_cap)
 Retrieve the channel capability of the audio stream, for example AX_AUDIO_CHANNEL_MONO. More...
 
guint ax_audio_stream_get_bit_depth (const AXAudioStream *stream)
 Retrieve the bit depth of the audio stream. More...
 
guint ax_audio_stream_get_bitrate (const AXAudioStream *stream)
 Retrieve the bit rate of the audio stream. More...
 
guint ax_audio_stream_get_samplerate (const AXAudioStream *stream)
 Retrieve the sample rate of the audio stream. More...
 
guint ax_audio_stream_get_period_time (const AXAudioStream *stream)
 Retrieve the time between two successive audio frames. More...
 
gboolean ax_audio_stream_get_codec (const AXAudioStream *stream, AXAudioCodec *codec)
 Retrieve the codec for the audio stream. More...
 
AXAudioFrameax_audio_stream_get_frame (const AXAudioStream *stream, GError **error)
 Retreive an audio frame from an open audio stream. More...
 
AXAudioFrameax_audio_frame_copy (const AXAudioFrame *frame)
 Copy an audio frame from an open audio stream. More...
 
AXAudioFrameax_audio_frame_new (void)
 Create an empty AXAudioFrame structure. More...
 
gboolean ax_audio_frame_set_data (AXAudioFrame *frame, gpointer data, gint size, GFreeFunc free_function, GError **error)
 Set the data content of the AXAudioFrame. More...
 
gboolean ax_audio_frame_set_timestamp (AXAudioFrame *frame, guint64 timestamp, GError **error)
 Set the timestamp of the AXAudioFrame. More...
 
gpointer ax_audio_frame_get_data (const AXAudioFrame *frame)
 Retrieve the data from the AXAudioFrame. More...
 
guint ax_audio_frame_get_size (const AXAudioFrame *frame)
 Retrieve the data size in bytes from the AXAudioFrame. The size is the total size, that is the sum of all channel data. More...
 
guint64 ax_audio_frame_get_timestamp (const AXAudioFrame *frame)
 Retrieve the timestamp in nanoseconds from the AXAudioFrame. More...
 
void ax_audio_frame_free (AXAudioFrame *frame)
 Free the AXAudioFrame retrieved from ax_audio_get_frame() or ax_audio_frame_new(). More...
 
+

Detailed Description

+

The main include for the AXAudio interface and its associated functions.

+

+Purpose

+

The AXAudio library is used to set up and manage audio streams. The API contains functions for opening audio streams, retrieving audio frames from the streams and retrieving audio data from the frames as well as functions for getting information from the Axis product about supported audio sources, codecs, bit rates and sample rates.

+

The intended workflow is as follows: First, set up an audio stream by calling one of the open audio stream functions, for example ax_audio_open_pcm_16_stream(). Then call ax_audio_get_frame() iteratively to retrieve audio frames. Typically, one audio frame is returned every 64 ms. To retrieve audio data, use ax_audio_frame_get_data().

+

Enumeration Type Documentation

+ +

◆ AXAudioChannel

+ +
+
+ + + + +
enum AXAudioChannel
+
+

Defines the possible channel modes.

+ + + +
Enumerator
AX_AUDIO_CHANNEL_MONO 

Mono channel mode

+
AX_AUDIO_CHANNEL_STEREO 

Stereo channel mode

+
+ +
+
+ +

◆ AXAudioCodec

+ +
+
+ + + + +
enum AXAudioCodec
+
+

Defines the possible audio codecs.

+ + + + + + +
Enumerator
AX_AUDIO_PCM_16 

PCM, 16bit per sample

+
AX_AUDIO_G711 

G.711

+
AX_AUDIO_G726 

G.726

+
AX_AUDIO_AAC 

Advanced Audio Coding (AAC)

+
AX_AUDIO_OPUS 

Opus

+
+ +
+
+

Function Documentation

+ +

◆ ax_audio_get_sources()

+ +
+
+ + + + + + + + +
guint ax_audio_get_sources (guint ** sources)
+
+ +

Retrieve a numbered list of audio sources.

+
Parameters
+ + +
audio_sourcesList of audio sources. Must be freed by the caller.
+
+
+
Returns
The number of audio sources.
+ +
+
+ +

◆ ax_audio_get_channel_capability()

+ +
+
+ + + + + + + + + + + + + + + + + + +
gboolean ax_audio_get_channel_capability (guint audio_source,
AXAudioChannelchannel_cap 
)
+
+ +

Retrieve the channel capability of the audio source.

+
Parameters
+ + + +
audio_sourceThe audio source.
channel_capThe channel capability.
+
+
+
Returns
TRUE if channel capability could be returned, FALSE otherwise.
+ +
+
+ +

◆ ax_audio_get_codecs()

+ +
+
+ + + + + + + + +
gint ax_audio_get_codecs (AXAudioCodec ** codecs)
+
+ +

Retrieve a list of available codecs.

+
Parameters
+ + +
codecsList of codecs. Must be freed by the caller.
+
+
+
Returns
The number of available codecs, or 0 if codecs is NULL.
+ +

References AX_AUDIO_AAC, AX_AUDIO_G711, AX_AUDIO_G726, AX_AUDIO_OPUS, and AX_AUDIO_PCM_16.

+ +
+
+ +

◆ ax_audio_get_samplerates()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gint ax_audio_get_samplerates (gint ** samplerates,
AXAudioCodec codec,
GError ** error 
)
+
+ +

Retrieve a list of available sample rates for the specified codec.

+
Parameters
+ + + +
sampleratesList of sample rates. Must be freed by the caller.
codecThe codec to list sample rates for.
+
+
+
Returns
The number of listed sample rates or -1 if failed. See ax_parameter_error.h for possible errors.
+ +

References AX_AUDIO_AAC, AX_AUDIO_CODEC_ERROR, AX_AUDIO_ERROR, AX_AUDIO_G711, AX_AUDIO_G726, AX_AUDIO_OPUS, AX_AUDIO_PARAM_ERROR, and AX_AUDIO_PCM_16.

+ +
+
+ +

◆ ax_audio_get_bitrates()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gint ax_audio_get_bitrates (guint ** bitrates,
AXAudioCodec codec,
gint samplerate,
GError ** error 
)
+
+ +

Retrieve a list of available bit rates for the specified codec and sample rate.

+
Parameters
+ + + + +
bitratesList of bit rates. Must be freed by the caller.
codecThe codec to list bit rates for.
samplerateThe sample rate to list bit rates for. For example 16000 samples per second.
+
+
+
Returns
The number of listed bit rates or -1 if failed. See ax_parameter_error.h for possible errors.
+ +

References AX_AUDIO_AAC, AX_AUDIO_CODEC_ERROR, AX_AUDIO_ERROR, AX_AUDIO_G711, AX_AUDIO_G726, AX_AUDIO_OPUS, AX_AUDIO_PARAM_ERROR, AX_AUDIO_PCM_16, and AX_AUDIO_SAMPLE_RATE_ERROR.

+ +
+
+ +

◆ ax_audio_open_output_pcm_16()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AXAudioOutput* ax_audio_open_output_pcm_16 (gint audio_sink,
gint samplerate,
AXAudioChannel channel,
GError ** error 
)
+
+ +

Open a raw signed PCM16 audio output.

+
Parameters
+ + + + + +
audio_sinkOptional. Audio sink. Set to -1 to use default sink.
samplerateThe sample rate. For example 16000 samples per second.
channelChannel AXAudioChannel. For example AX_AUDIO_CHANNEL_MONO.
errorReturn location for a GError or NULL.
+
+
+
Returns
An opaque structure associated with the output or NULL if failed. See ax_parameter_error.h for possible errors.
+
Examples:
axaudioexample.c.
+
+

References AX_AUDIO_PCM_16.

+ +
+
+ +

◆ ax_audio_output_play_pcm_16()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gboolean ax_audio_output_play_pcm_16 (AXAudioOutputoutput,
const AXAudioFrameframe,
GError ** error 
)
+
+ +

Play raw signed PCM16 audio data. Interleaved LRLRLR if more than one channel is supported. This function will block until the whole frame is played.

+
Parameters
+ + + + +
outputThe structure associated with the output.
frameAn AXAudioFrame structure.
errorReturn location for a GError or NULL.
+
+
+
Returns
Return TRUE if a frame could be successfully played or FALSE if it failed. See ax_parameter_error.h for possible errors.
+
Examples:
axaudioexample.c.
+
+

References AX_AUDIO_ERROR, and AX_AUDIO_PARAM_ERROR.

+ +
+
+ +

◆ ax_audio_output_close_pcm_16()

+ +
+
+ + + + + + + + + + + + + + + + + + +
gboolean ax_audio_output_close_pcm_16 (AXAudioOutputoutput,
GError ** error 
)
+
+ +

Close the raw signed PCM16 audio output.

+
Parameters
+ + + +
outputThe structure associated with the output.
errorReturn location for a GError or NULL.
+
+
+
Returns
Return TRUE if the output could be closed or FALSE if it failed. See ax_parameter_error.h for possible errors.
+
Examples:
axaudioexample.c.
+
+

References AX_AUDIO_ERROR, and AX_AUDIO_PARAM_ERROR.

+ +
+
+ +

◆ ax_audio_open_pcm_16_stream()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AXAudioStream* ax_audio_open_pcm_16_stream (gint audio_source,
gint samplerate,
AXAudioChannel channel,
GError ** error 
)
+
+ +

Open a new raw signed PCM 16 audio stream.

+

This function will open a raw signed Pulse Code Modulation (PCM) 16 audio stream. Bit rate and sample rate depend on system settings. If stereo mode is used, the stream will be interleaved as LRLRLR.

+
Parameters
+ + + + + +
audio_sourceOptional. Audio source. Set to -1 to use default source.
samplerateOptional. Sample rate, for example 16000 samples per second. Set to -1 to use default sample rate.
channelChannel AXAudioChannel. For example AX_AUDIO_CHANNEL_MONO.
errorReturn location for a GError or NULL.
+
+
+
Returns
An opaque structure associated with the stream or NULL if failed. See ax_parameter_error.h for possible errors.
+
Examples:
axaudioexample.c.
+
+

References AX_AUDIO_PCM_16.

+ +
+
+ +

◆ ax_audio_open_opus_stream()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AXAudioStream* ax_audio_open_opus_stream (gint bitrate,
gint samplerate,
gint audio_source,
AXAudioChannel channel,
GError ** error 
)
+
+ +

Open a new Opus audio stream.

+

This function will open an Opus-encoded audio stream. Supported bit rates depend on the sample rate.

+
Parameters
+ + + + + + +
bitrateOptional. Bit rate, for example 32000 bits per second. Set to -1 to use default bit rate.
samplerateOptional. Sample rate, for example 16000 samples per second. Set to -1 to use default sample rate.
audio_sourceOptional. Audio source. Set to -1 to use default source.
channelChannel AXAudioChannel. For example AX_AUDIO_CHANNEL_MONO.
errorReturn location for a GError or NULL.
+
+
+
Returns
An opaque structure associated with the stream or NULL if failed. See ax_parameter_error.h for possible errors.
+ +

References AX_AUDIO_OPUS.

+ +
+
+ +

◆ ax_audio_open_aac_stream()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AXAudioStream* ax_audio_open_aac_stream (gint bitrate,
gint samplerate,
gint audio_source,
AXAudioChannel channel,
GError ** error 
)
+
+ +

Open a new AAC audio stream.

+

This function will open an AAC-encoded audio stream. Supported bit rates depend on the sample rate: sample rate 8 kHz supports 8, 12, 16 and 32 kbit/s sample rate 16 kHz supports 12, 16, 32 and 64 kbit/s The stream will contain an ADTS header for each frame.

+
Parameters
+ + + + + + +
bitrateOptional. Bit rate, for example 32000 bits per second. Set to -1 to use default bit rate.
samplerateOptional. Sample rate, for example 16000 samples per second. Set to -1 to use default sample rate.
audio_sourceOptional. Audio source. Set to -1 to use default source.
channelChannel AXAudioChannel. For example AX_AUDIO_CHANNEL_MONO.
errorReturn location for a GError or NULL.
+
+
+
Returns
An opaque structure associated with the stream or NULL if failed. See ax_parameter_error.h for possible errors.
+ +

References AX_AUDIO_AAC.

+ +
+
+ +

◆ ax_audio_open_g711_stream()

+ +
+
+ + + + + + + + + + + + + + + + + + +
AXAudioStream* ax_audio_open_g711_stream (gint audio_source,
GError ** error 
)
+
+ +

Open a new G.711 audio stream.

+

This function will open a G.711-encoded audio stream. Bit rate is 64 kbit/s and sample rate is 8 kHz. Only mono audio is supported.

+
Parameters
+ + + +
audio_sourceOptional. Audio source. Set to -1 to use default source.
errorReturn location for a GError or NULL.
+
+
+
Returns
An opaque structure associated with the stream or NULL if failed. See ax_parameter_error.h for possible errors.
+ +

References AX_AUDIO_CHANNEL_MONO, and AX_AUDIO_G711.

+ +
+
+ +

◆ ax_audio_open_g726_stream()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
AXAudioStream* ax_audio_open_g726_stream (gint bitrate,
gint audio_source,
GError ** error 
)
+
+ +

Open a new G.726 audio stream.

+

This function will open a G.726-encoded audio stream. Supported bit rates are: 24 and 32 kbit/s. Sample rate is 8 kHz. Only mono audio is supported.

+
Parameters
+ + + + +
bitrateOptional. Bit rate, for exmaple 32000 bits per second. Set to -1 to use default bit rate.
audio_sourceOptional. Audio source. Set to -1 to use default source.
errorReturn location for a GError or NULL.
+
+
+
Returns
An opaque structure associated with the stream or NULL if failed. See ax_parameter_error.h for possible errors.
+ +

References AX_AUDIO_CHANNEL_MONO, AX_AUDIO_ERROR, AX_AUDIO_G726, and AX_AUDIO_GENERIC_ERROR.

+ +
+
+ +

◆ ax_audio_stream_close()

+ +
+
+ + + + + + + + + + + + + + + + + + +
gboolean ax_audio_stream_close (AXAudioStreamstream,
GError ** error 
)
+
+ +

Close a running audio stream.

+

The function closes the specified audio stream.

+
Parameters
+ + + +
streamThe structure associated with the stream.
errorReturn the location for a GError or NULL.
+
+
+
Returns
Return TRUE if stream could be closed or FALSE if it failed. See ax_parameter_error.h for possible errors.
+
Examples:
axaudioexample.c.
+
+

References AX_AUDIO_CONNECT_ERROR, AX_AUDIO_ERROR, and AX_AUDIO_PARAM_ERROR.

+ +
+
+ +

◆ ax_audio_stream_get_channel_capability()

+ +
+
+ + + + + + + + + + + + + + + + + + +
gboolean ax_audio_stream_get_channel_capability (const AXAudioStreamstream,
AXAudioChannelchannel_cap 
)
+
+ +

Retrieve the channel capability of the audio stream, for example AX_AUDIO_CHANNEL_MONO.

+
Parameters
+ + + +
streamThe structure associated with the stream.
channel_capThe channel capability.
+
+
+
Returns
TRUE if channel capability could be returned, FALSE otherwise.
+ +
+
+ +

◆ ax_audio_stream_get_bit_depth()

+ +
+
+ + + + + + + + +
guint ax_audio_stream_get_bit_depth (const AXAudioStreamstream)
+
+ +

Retrieve the bit depth of the audio stream.

+
Parameters
+ + +
streamThe structure associated with the stream.
+
+
+
Returns
The bit depth of the audio stream, for example 8 bits for G.711. Or 0 if stream is NULL.
+
Examples:
axaudioexample.c.
+
+
+
+ +

◆ ax_audio_stream_get_bitrate()

+ +
+
+ + + + + + + + +
guint ax_audio_stream_get_bitrate (const AXAudioStreamstream)
+
+ +

Retrieve the bit rate of the audio stream.

+
Parameters
+ + +
streamThe structure associated with the stream.
+
+
+
Returns
The bit rate of the audio stream, for example 64000 bits per second. Or 0 if stream is NULL.
+ +
+
+ +

◆ ax_audio_stream_get_samplerate()

+ +
+
+ + + + + + + + +
guint ax_audio_stream_get_samplerate (const AXAudioStreamstream)
+
+ +

Retrieve the sample rate of the audio stream.

+
Parameters
+ + +
streamThe structure associated with the stream.
+
+
+
Returns
The sample rate of the audio stream, for example 16000 samples per second. Or 0 if stream is NULL.
+
Examples:
axaudioexample.c.
+
+
+
+ +

◆ ax_audio_stream_get_period_time()

+ +
+
+ + + + + + + + +
guint ax_audio_stream_get_period_time (const AXAudioStreamstream)
+
+ +

Retrieve the time between two successive audio frames.

+
Parameters
+ + +
streamThe structure associated with the stream.
+
+
+
Returns
Time in milliseconds, for example 64 ms. Or 0 if stream is NULL.
+ +
+
+ +

◆ ax_audio_stream_get_codec()

+ +
+
+ + + + + + + + + + + + + + + + + + +
gboolean ax_audio_stream_get_codec (const AXAudioStreamstream,
AXAudioCodeccodec 
)
+
+ +

Retrieve the codec for the audio stream.

+
Parameters
+ + + +
streamThe structure associated with the stream.
codecThe codec, for example AX_AUDIO_AAC.
+
+
+
Returns
TRUE if codec could be returned, FALSE otherwise.
+ +
+
+ +

◆ ax_audio_stream_get_frame()

+ +
+
+ + + + + + + + + + + + + + + + + + +
AXAudioFrame* ax_audio_stream_get_frame (const AXAudioStreamstream,
GError ** error 
)
+
+ +

Retreive an audio frame from an open audio stream.

+

The function will return a frame with audio data from the audio stream. In addition to audio data, the frame contains a timestamp and the size of the audio data. The frame should be freed after use. Use ax_audio_frame_free to free the frame. The ax_audio_stream_get_frame function call will block other calls until the audio data arrives. The block time is typical 64 ms if the function is called as soon as the audio data from the previous function call is returned. The audio buffer is 500 ms; older frames will be dropped.

+
Parameters
+ + + +
streamThe structure associated with the stream.
errorReturn location for a GError or NULL.
+
+
+
Returns
An AXAudioFrame structure, or NULL if stream is NULL. See ax_parameter_error.h for possible errors.
+
Examples:
axaudioexample.c.
+
+

References AX_AUDIO_CONNECT_ERROR, AX_AUDIO_ERROR, AX_AUDIO_GENERIC_ERROR, and AX_AUDIO_PARAM_ERROR.

+ +
+
+ +

◆ ax_audio_frame_copy()

+ +
+
+ + + + + + + + +
AXAudioFrame* ax_audio_frame_copy (const AXAudioFrameframe)
+
+ +

Copy an audio frame from an open audio stream.

+

The function will copy an audio frame. The returned frame copy must be freed with ax_audio_frame_free() after use.

+
Parameters
+ + +
frameThe AXAudioFrame to copy data from.
+
+
+
Returns
An AXAudioFrame structure, or NULL if frame is NULL.
+ +
+
+ +

◆ ax_audio_frame_new()

+ +
+
+ + + + + + + + +
AXAudioFrame* ax_audio_frame_new (void )
+
+ +

Create an empty AXAudioFrame structure.

+

This function will create an empty AXAudioFrame. The created AXAudioFrame must be freed with ax_audio_frame_free() after use.

+
Returns
An AXAudioFrame structure.
+
Examples:
axaudioexample.c.
+
+
+
+ +

◆ ax_audio_frame_set_data()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gboolean ax_audio_frame_set_data (AXAudioFrameframe,
gpointer data,
gint size,
GFreeFunc free_function,
GError ** error 
)
+
+ +

Set the data content of the AXAudioFrame.

+

This function will set the audio data part of the AXAudioFrame structure. Any existing audio data will be replaced. If a free function was specified for the old data, the old data will be freed.

+
Parameters
+ + + + + +
frameThe AXAudioFrame structure.
dataThe audio data.
sizeAudio data size in bytes.
free_functionThe free function for the data. If NULL the data will not be freed. If specified, the data will be freed when ax_audio_frame_free is called.
+
+
+
Returns
Return TRUE if data could be set or FALSE if failed. See ax_parameter_error.h for possible errors.
+
Examples:
axaudioexample.c.
+
+

References AX_AUDIO_ERROR, and AX_AUDIO_PARAM_ERROR.

+ +
+
+ +

◆ ax_audio_frame_set_timestamp()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gboolean ax_audio_frame_set_timestamp (AXAudioFrameframe,
guint64 timestamp,
GError ** error 
)
+
+ +

Set the timestamp of the AXAudioFrame.

+

This function will set the timestamp of the AXAudioFrame structure.

+
Parameters
+ + + +
frameThe AXAudioFrame structure.
timestampTimestamp in microseconds.
+
+
+
Returns
Return TRUE if timestamp could be set or FALSE if failed. See ax_parameter_error.h for possible errors.
+ +

References AX_AUDIO_ERROR, and AX_AUDIO_PARAM_ERROR.

+ +
+
+ +

◆ ax_audio_frame_get_data()

+ +
+
+ + + + + + + + +
gpointer ax_audio_frame_get_data (const AXAudioFrameframe)
+
+ +

Retrieve the data from the AXAudioFrame.

+

This function returns the audio data. For PCM streams the data is optimally aligned in memory.

+
Parameters
+ + +
frameThe AXAudioFrame to retrieve data from.
+
+
+
Returns
A pointer to the data, or NULL if frame is NULL.
+
Examples:
axaudioexample.c.
+
+
+
+ +

◆ ax_audio_frame_get_size()

+ +
+
+ + + + + + + + +
guint ax_audio_frame_get_size (const AXAudioFrameframe)
+
+ +

Retrieve the data size in bytes from the AXAudioFrame. The size is the total size, that is the sum of all channel data.

+
Parameters
+ + +
frameThe AXAudioFrame to retrieve data size from.
+
+
+
Returns
The size of the data, or 0 if frame is NULL.
+
Examples:
axaudioexample.c.
+
+
+
+ +

◆ ax_audio_frame_get_timestamp()

+ +
+
+ + + + + + + + +
guint64 ax_audio_frame_get_timestamp (const AXAudioFrameframe)
+
+ +

Retrieve the timestamp in nanoseconds from the AXAudioFrame.

+

The returned value is in nanoseconds for the system uptime (CLOCK_MONOTONIC).

+
Parameters
+ + +
frameThe AXAudioFrame to retrieve timestamp from.
+
+
+
Returns
The timestamp in nanoseconds, or 0 if frame is NULL.
+
Examples:
axaudioexample.c.
+
+
+
+ +

◆ ax_audio_frame_free()

+ +
+
+ + + + + + + + +
void ax_audio_frame_free (AXAudioFrameframe)
+
+ +

Free the AXAudioFrame retrieved from ax_audio_get_frame() or ax_audio_frame_new().

+
Parameters
+ + +
framePointer to the AXAudioFrame received from ax_audio_get_frame()
+
+
+
Returns
void
+
Examples:
axaudioexample.c.
+
+
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h.js b/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h.js new file mode 100644 index 0000000..62c90cb --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h.js @@ -0,0 +1,46 @@ +var axaudio_8h = +[ + [ "AXAudioOutput", "axaudio_8h.html#a71218d7d2f8d99ec5d32ebcc478f7b5c", null ], + [ "AXAudioStream", "axaudio_8h.html#aa8aac15f5b8e0a11348026a17dd19695", null ], + [ "AXAudioFrame", "axaudio_8h.html#a3e231b40a2aeaf970145b651a17d8c5b", null ], + [ "AXAudioChannel", "axaudio_8h.html#a3d1b1fb4e67a7718395909ec52a83fe2", [ + [ "AX_AUDIO_CHANNEL_MONO", "axaudio_8h.html#a3d1b1fb4e67a7718395909ec52a83fe2a35df979f38e10f5139aad903474cee4e", null ], + [ "AX_AUDIO_CHANNEL_STEREO", "axaudio_8h.html#a3d1b1fb4e67a7718395909ec52a83fe2ac14c35f45c5c4636d2b9eafa6564e9a9", null ] + ] ], + [ "AXAudioCodec", "axaudio_8h.html#a9ab298084f008410915036ba8f7ebd4e", [ + [ "AX_AUDIO_PCM_16", "axaudio_8h.html#a9ab298084f008410915036ba8f7ebd4eadd0dd73262b2df52c7bfb2f2ab994299", null ], + [ "AX_AUDIO_G711", "axaudio_8h.html#a9ab298084f008410915036ba8f7ebd4ea9dd0387e4b4ed6a2d1fd117636256076", null ], + [ "AX_AUDIO_G726", "axaudio_8h.html#a9ab298084f008410915036ba8f7ebd4ea71a389d2b9cec1540555d8ea71381cff", null ], + [ "AX_AUDIO_AAC", "axaudio_8h.html#a9ab298084f008410915036ba8f7ebd4ea4a39d9a90a89c7aff7807f61e139b5b2", null ], + [ "AX_AUDIO_OPUS", "axaudio_8h.html#a9ab298084f008410915036ba8f7ebd4ea31a8b5e8d08f31307ae65388a06c1eed", null ] + ] ], + [ "ax_audio_get_sources", "axaudio_8h.html#a36942fcd76416e3de0e611e14a77f519", null ], + [ "ax_audio_get_channel_capability", "axaudio_8h.html#af68f34f00c3bad605d2e2eed76d247e9", null ], + [ "ax_audio_get_codecs", "axaudio_8h.html#a8057317f436462d53bd3e41f5ef11739", null ], + [ "ax_audio_get_samplerates", "axaudio_8h.html#a7ea6c17657f743b41e11e793ebbc4f70", null ], + [ "ax_audio_get_bitrates", "axaudio_8h.html#a1518d03b6ff0cbb140607ec9c60d92e6", null ], + [ "ax_audio_open_output_pcm_16", "axaudio_8h.html#aa528bf699ad7b06a36196f215917bf25", null ], + [ "ax_audio_output_play_pcm_16", "axaudio_8h.html#ae4cae7985ad38ba4da684d386c599180", null ], + [ "ax_audio_output_close_pcm_16", "axaudio_8h.html#a05db2571b43d56e22fcc165e6f7f8790", null ], + [ "ax_audio_open_pcm_16_stream", "axaudio_8h.html#a9f401a9ff9cbb03a9916cbf86ade1d33", null ], + [ "ax_audio_open_opus_stream", "axaudio_8h.html#a8b26ef054de042bee22dd130609b0d73", null ], + [ "ax_audio_open_aac_stream", "axaudio_8h.html#ad8fef1e97c0e16740bb8bc6642fddfd2", null ], + [ "ax_audio_open_g711_stream", "axaudio_8h.html#acb18bb7c44460d26aa465ff0c300a47e", null ], + [ "ax_audio_open_g726_stream", "axaudio_8h.html#a02b8fe34c18f66d6666fa80931b44af5", null ], + [ "ax_audio_stream_close", "axaudio_8h.html#a3976aa45e5bc65a50fecded95affde6a", null ], + [ "ax_audio_stream_get_channel_capability", "axaudio_8h.html#a7a8eb0e31a546ccaede688d9987e3c3a", null ], + [ "ax_audio_stream_get_bit_depth", "axaudio_8h.html#a7fd64c4fa6c3329535fd0a5545aed085", null ], + [ "ax_audio_stream_get_bitrate", "axaudio_8h.html#a79b377ebdbe57f26d58eb85050b83aed", null ], + [ "ax_audio_stream_get_samplerate", "axaudio_8h.html#a6ad9957652d849fe9f339e9930cef6a3", null ], + [ "ax_audio_stream_get_period_time", "axaudio_8h.html#ad654e34550d9fca336e84ed32c24c49d", null ], + [ "ax_audio_stream_get_codec", "axaudio_8h.html#aca6b45d654a13eb5e70834e742a09fc1", null ], + [ "ax_audio_stream_get_frame", "axaudio_8h.html#aad181a4a826abd593e96082f56fadfd2", null ], + [ "ax_audio_frame_copy", "axaudio_8h.html#a9c5c7a2e8297c96f3c6eea5935425bf2", null ], + [ "ax_audio_frame_new", "axaudio_8h.html#a20c45bdc3c1d7e86ce5d20de7ff171ed", null ], + [ "ax_audio_frame_set_data", "axaudio_8h.html#a3eafd69ed5b68a5dc198c950fe771513", null ], + [ "ax_audio_frame_set_timestamp", "axaudio_8h.html#a7fad84e48fc0f04686c2807b5bb32fcc", null ], + [ "ax_audio_frame_get_data", "axaudio_8h.html#aaecedb4eb4887a6a91e49f83c1b78ee6", null ], + [ "ax_audio_frame_get_size", "axaudio_8h.html#aa92ba123bf435678520520245b65383e", null ], + [ "ax_audio_frame_get_timestamp", "axaudio_8h.html#aeb0ff2af86582ecaec36146e6a70d6cf", null ], + [ "ax_audio_frame_free", "axaudio_8h.html#a52aa5e281481c44f5f39d4e00382ed9e", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h_source.html new file mode 100644 index 0000000..88186b1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudio_8h_source.html @@ -0,0 +1,119 @@ + + + + + + + +AXaudio: axaudio.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
axaudio.h
+
+
+Go to the documentation of this file.
1 #ifndef _AX_AUDIO_H_
2 #define _AX_AUDIO_H_
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
27 #include <glib.h>
28 
33 
38 
42 typedef struct _AXAudioFrame AXAudioFrame;
43 
48 typedef enum {
52 
57 typedef enum {
64 
65 
73 guint
74 ax_audio_get_sources(guint **sources);
75 
76 
85 gboolean
86 ax_audio_get_channel_capability(guint audio_source, AXAudioChannel *channel_cap);
87 
88 
96 gint
97 ax_audio_get_codecs(AXAudioCodec **codecs);
98 
99 
109 gint
110 ax_audio_get_samplerates(gint **samplerates, AXAudioCodec codec, GError **error);
111 
112 
123 gint
124 ax_audio_get_bitrates(guint **bitrates, AXAudioCodec codec, gint samplerate, GError **error);
125 
126 
139 ax_audio_open_output_pcm_16(gint audio_sink, gint samplerate,
140  AXAudioChannel channel, GError **error);
141 
142 
155 gboolean
157  GError **error);
158 
168 gboolean
169 ax_audio_output_close_pcm_16(AXAudioOutput *output, GError **error);
170 
171 
193 ax_audio_open_pcm_16_stream(gint audio_source, gint samplerate, AXAudioChannel channel, GError **error);
194 
195 
219 ax_audio_open_opus_stream(gint bitrate, gint samplerate, gint audio_source, AXAudioChannel channel, GError **error);
220 
221 
247 ax_audio_open_aac_stream(gint bitrate, gint samplerate, gint audio_source, AXAudioChannel channel, GError **error);
248 
249 
264 ax_audio_open_g711_stream(gint audio_source, GError **error);
265 
266 
284 ax_audio_open_g726_stream(gint bitrate, gint audio_source, GError **error);
285 
286 
298 gboolean
299 ax_audio_stream_close(AXAudioStream *stream, GError **error);
300 
301 
311 gboolean
312 ax_audio_stream_get_channel_capability(const AXAudioStream *stream, AXAudioChannel *channel_cap);
313 
322 guint
324 
333 guint
335 
344 guint
346 
347 
356 guint
358 
359 
368 gboolean
369 ax_audio_stream_get_codec(const AXAudioStream *stream, AXAudioCodec *codec);
370 
371 
390 AXAudioFrame *
391 ax_audio_stream_get_frame(const AXAudioStream *stream, GError **error);
392 
393 
404 AXAudioFrame *
405 ax_audio_frame_copy(const AXAudioFrame *frame);
406 
415 AXAudioFrame *
416 ax_audio_frame_new(void);
417 
435 gboolean
436 ax_audio_frame_set_data(AXAudioFrame *frame, gpointer data, gint size,
437  GFreeFunc free_function, GError **error);
438 
439 
451 gboolean
452 ax_audio_frame_set_timestamp(AXAudioFrame *frame, guint64 timestamp, GError **error);
453 
454 
465 gpointer
467 
476 guint
478 
488 guint64
490 
499 void
501 
502 
503 #ifdef __cplusplus
504 }
505 #endif
506 
507 #endif /* _AXAUDIO_H_ */
Definition: axaudio.h:62
+
guint ax_audio_get_sources(guint **sources)
Retrieve a numbered list of audio sources.
Definition: ax_audio.c:524
+
Definition: axaudio.h:50
+
gint ax_audio_get_codecs(AXAudioCodec **codecs)
Retrieve a list of available codecs.
Definition: ax_audio.c:566
+
AXAudioStream * ax_audio_open_aac_stream(gint bitrate, gint samplerate, gint audio_source, AXAudioChannel channel, GError **error)
Open a new AAC audio stream.
Definition: ax_audio.c:400
+
guint ax_audio_frame_get_size(const AXAudioFrame *frame)
Retrieve the data size in bytes from the AXAudioFrame. The size is the total size, that is the sum of all channel data.
Definition: ax_audio.c:898
+
gboolean ax_audio_output_close_pcm_16(AXAudioOutput *output, GError **error)
Close the raw signed PCM16 audio output.
Definition: ax_audio.c:373
+
guint ax_audio_stream_get_period_time(const AXAudioStream *stream)
Retrieve the time between two successive audio frames.
Definition: ax_audio.c:751
+
AXAudioStream * ax_audio_open_pcm_16_stream(gint audio_source, gint samplerate, AXAudioChannel channel, GError **error)
Open a new raw signed PCM 16 audio stream.
Definition: ax_audio.c:384
+
Definition: axaudio.h:59
+
gboolean ax_audio_frame_set_timestamp(AXAudioFrame *frame, guint64 timestamp, GError **error)
Set the timestamp of the AXAudioFrame.
Definition: ax_audio.c:870
+
gboolean ax_audio_frame_set_data(AXAudioFrame *frame, gpointer data, gint size, GFreeFunc free_function, GError **error)
Set the data content of the AXAudioFrame.
Definition: ax_audio.c:845
+
Definition: axaudio.h:58
+
Definition: axaudio.h:61
+
guint ax_audio_stream_get_bitrate(const AXAudioStream *stream)
Retrieve the bit rate of the audio stream.
Definition: ax_audio.c:494
+
gboolean ax_audio_stream_get_channel_capability(const AXAudioStream *stream, AXAudioChannel *channel_cap)
Retrieve the channel capability of the audio stream, for example AX_AUDIO_CHANNEL_MONO.
Definition: ax_audio.c:772
+
AXAudioStream * ax_audio_open_opus_stream(gint bitrate, gint samplerate, gint audio_source, AXAudioChannel channel, GError **error)
Open a new Opus audio stream.
Definition: ax_audio.c:392
+
guint ax_audio_stream_get_samplerate(const AXAudioStream *stream)
Retrieve the sample rate of the audio stream.
Definition: ax_audio.c:504
+
void ax_audio_frame_free(AXAudioFrame *frame)
Free the AXAudioFrame retrieved from ax_audio_get_frame() or ax_audio_frame_new().
Definition: ax_audio.c:919
+
Definition: axaudio.h:49
+
gboolean ax_audio_stream_close(AXAudioStream *stream, GError **error)
Close a running audio stream.
Definition: ax_audio.c:472
+
gint ax_audio_get_samplerates(gint **samplerates, AXAudioCodec codec, GError **error)
Retrieve a list of available sample rates for the specified codec.
Definition: ax_audio.c:603
+
AXAudioFrame * ax_audio_frame_new(void)
Create an empty AXAudioFrame structure.
Definition: ax_audio.c:830
+
AXAudioStream * ax_audio_open_g726_stream(gint bitrate, gint audio_source, GError **error)
Open a new G.726 audio stream.
Definition: ax_audio.c:416
+
guint ax_audio_stream_get_bit_depth(const AXAudioStream *stream)
Retrieve the bit depth of the audio stream.
Definition: ax_audio.c:514
+
Definition: ax_audio_datatypes.h:17
+
gboolean ax_audio_stream_get_codec(const AXAudioStream *stream, AXAudioCodec *codec)
Retrieve the codec for the audio stream.
Definition: ax_audio.c:761
+
AXAudioFrame * ax_audio_frame_copy(const AXAudioFrame *frame)
Copy an audio frame from an open audio stream.
Definition: ax_audio.c:811
+
gboolean ax_audio_get_channel_capability(guint audio_source, AXAudioChannel *channel_cap)
Retrieve the channel capability of the audio source.
Definition: ax_audio.c:555
+
Definition: axaudio.h:60
+
gint ax_audio_get_bitrates(guint **bitrates, AXAudioCodec codec, gint samplerate, GError **error)
Retrieve a list of available bit rates for the specified codec and sample rate.
Definition: ax_audio.c:662
+
gpointer ax_audio_frame_get_data(const AXAudioFrame *frame)
Retrieve the data from the AXAudioFrame.
Definition: ax_audio.c:888
+
AXAudioStream * ax_audio_open_g711_stream(gint audio_source, GError **error)
Open a new G.711 audio stream.
Definition: ax_audio.c:408
+
AXAudioOutput * ax_audio_open_output_pcm_16(gint audio_sink, gint samplerate, AXAudioChannel channel, GError **error)
Open a raw signed PCM16 audio output.
Definition: ax_audio.c:349
+
Definition: ax_audio_datatypes.h:40
+
Definition: ax_audio_datatypes.h:25
+
gboolean ax_audio_output_play_pcm_16(AXAudioOutput *output, const AXAudioFrame *frame, GError **error)
Play raw signed PCM16 audio data. Interleaved LRLRLR if more than one channel is supported. This function will block until the whole frame is played.
Definition: ax_audio.c:361
+
AXAudioCodec
Definition: axaudio.h:57
+
AXAudioFrame * ax_audio_stream_get_frame(const AXAudioStream *stream, GError **error)
Retreive an audio frame from an open audio stream.
Definition: ax_audio.c:784
+
guint64 ax_audio_frame_get_timestamp(const AXAudioFrame *frame)
Retrieve the timestamp in nanoseconds from the AXAudioFrame.
Definition: ax_audio.c:908
+
AXAudioChannel
Definition: axaudio.h:48
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudioexample_8c-example.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudioexample_8c-example.html new file mode 100644 index 0000000..8990a09 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/axaudioexample_8c-example.html @@ -0,0 +1,78 @@ + + + + + + + +AXaudio: axaudioexample.c + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
axaudioexample.c
+
+
+

axaudioexample.c

+
#include <axsdk/axaudio.h>
#include <syslog.h>
#include <glib/gstdio.h>
#include <gio/gio.h>
#include <math.h>
#define APP_NAME "audioApp"
static GMainLoop *loop = NULL;
typedef struct _ExampleData {
AXAudioStream *stream;
GFileOutputStream *output_stream;
guint totalbytes;
guint frames_received;
GQueue *frame_queue;
GMutex lock;
guint64 timestamp;
} ExampleData;
/* Signals handling */
static void
handle_sigterm(int signo)
{
g_main_loop_quit(loop);
}
static void
init_signals(void)
{
struct sigaction sa;
sa.sa_flags = 0;
sigemptyset(&sa.sa_mask);
sa.sa_handler = handle_sigterm;
sigaction(SIGTERM, &sa, NULL);
sigaction(SIGINT, &sa, NULL);
}
/* This function will get all existing frames in the queue and write to file */
static gboolean
frame_analyzer(gpointer data)
{
ExampleData *example_data = data;
AXAudioFrame *audio_frame = NULL;
do {
g_mutex_lock(&example_data->lock);
audio_frame = g_queue_pop_head(example_data->frame_queue);
g_mutex_unlock(&example_data->lock);
if (audio_frame != NULL) {
example_data->timestamp = ax_audio_frame_get_timestamp(audio_frame);
example_data->totalbytes += ax_audio_frame_get_size(audio_frame);
/* write frame to file */
g_output_stream_write_all((GOutputStream*) example_data->output_stream,
ax_audio_frame_get_size(audio_frame), NULL,
NULL, NULL);
ax_audio_frame_free(audio_frame);
}
} while (audio_frame);
return TRUE;
}
/* This function is run in an separate thread that will get audio frames and
* put them into a queue */
static gpointer
frame_retriever(gpointer data)
{
ExampleData *example_data = data;
AXAudioFrame * audio_frame = NULL;
GError *error = NULL;
while (TRUE) {
example_data->frames_received++;
/* read numaudio_frames frames of audio data */
audio_frame = ax_audio_stream_get_frame(example_data->stream, &error);
if (!audio_frame) {
/* nothing to read, this is an error */
syslog(LOG_WARNING,
"Failed to get audio frame got error code: %d and error message: %s",
error->code, error->message);
g_error_free(error);
return NULL;
} else {
/* add frame to queue */
g_mutex_lock(&example_data->lock);
g_queue_push_tail(example_data->frame_queue, audio_frame);
g_mutex_unlock(&example_data->lock);
}
}
}
static AXAudioFrame *
generate_sine(gint length, gint frequency, guint sound_level)
{
guint frame_rate = 16000;
guint sample_per_sin = frame_rate / frequency;
gint16 *data = g_malloc0(sizeof(gint16) * frame_rate * length);
gint i = 0;
for (;i < (frame_rate * length); i++) {
data[i] = sin((2 * G_PI / ((sample_per_sin)) * i)) * sound_level;
}
ax_audio_frame_set_data(frame, (gpointer)data, sizeof(gint16)* frame_rate * length, (GFreeFunc)&g_free, NULL);
return frame;
}
gint
main(gint argc, gchar *argv[])
{
GError *error = NULL;
AXAudioStream * stream = NULL;
ExampleData *example_data = NULL;
GFile *file = NULL;
GFileOutputStream *output_stream = NULL;
guint analyser_source_id;
GThread *frame_th = NULL;
AXAudioFrame *frame = NULL;
AXAudioOutput *output = NULL;
#if !GLIB_CHECK_VERSION(2,36,0)
g_type_init();
#endif
init_signals();
loop = g_main_loop_new(NULL, FALSE);
openlog(APP_NAME, LOG_PID, LOG_LOCAL4);
syslog(LOG_INFO, "Starting %s", APP_NAME);
/* play a generated tone of 400 Hz for 2 seconds */
frame = generate_sine(2, 400, 15000);
output = ax_audio_open_output_pcm_16(-1, 16000, AX_AUDIO_CHANNEL_MONO, &error);
if (output == NULL) {
syslog(LOG_WARNING, "Failed to open playback, code: %d and error message: %s",
error->code, error->message);
goto error_out;
}
if (!ax_audio_output_play_pcm_16(output, frame, &error)) {
syslog(LOG_WARNING, "Failed to play, code: %d and error message: %s",
error->code, error->message);
goto error_out;
}
if (!ax_audio_output_close_pcm_16(output, &error)) {
syslog(LOG_WARNING, "Failed to close playback, code: %d and error message: %s",
error->code, error->message);
goto error_out;
}
/* open up a raw audio stream */
if (stream == NULL) {
syslog(LOG_WARNING, "Failed with error code: %d and error message: %s",
error->code, error->message);
goto error_out;
}
/* setting up for saving stream to file */
file = g_file_new_for_path("/tmp/raw_audio.raw");
output_stream = g_file_replace(file, NULL, FALSE, G_FILE_CREATE_NONE, NULL,
NULL);
syslog(LOG_INFO,
"RAW audio stream with bit depth: %d and samplerate: %d is setup",
/* initialize data structure */
example_data = g_malloc(sizeof *example_data);
example_data->stream = stream;
example_data->output_stream = output_stream;
example_data->frames_received = 0;
example_data->totalbytes = 0;
example_data->frame_queue = g_queue_new();
g_mutex_init(&example_data->lock);
/* start a timeout source that will analyze audio frames each 500 ms */
analyser_source_id = g_timeout_add(500, frame_analyzer, example_data);
/* start a threads that retrieves audio frames */
frame_th = g_thread_new("frame retriver", frame_retriever, example_data);
/* start the main loop */
g_main_loop_run(loop);
syslog(LOG_INFO,
"Totally %d bytes of audio data was received by %s. The timestamp "
"of the latest retrived frame was: %" G_GUINT64_FORMAT "\n",
example_data->totalbytes, APP_NAME, example_data->timestamp);
/* close analyzer source */
g_source_remove(analyser_source_id);
/* unref the main loop when the main loop has been quit */
g_main_loop_unref(loop);
g_thread_unref(frame_th);
/* free */
g_output_stream_close((GOutputStream*) output_stream, NULL, NULL);
g_object_unref(output_stream);
g_mutex_clear(&example_data->lock);
g_queue_free(example_data->frame_queue);
g_free(example_data);
error_out:
if (error != NULL) {
g_error_free(error);
}
if (frame != NULL) {
}
ax_audio_stream_close(stream, NULL);
syslog(LOG_INFO, "Quitting %s", APP_NAME);
return 0;
}
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/axis-logo.png b/docs/acap-sdk-version-3/api/src/api/axaudio/html/axis-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7afe144721cea33a1b4fd747dd3ea0b77b2b347a GIT binary patch literal 2757 zcmZ{mYdq5p8^`|+tSv0RaGT1Yv4qd*ImzGWz52 zK~KI={_DW_ZyHz_0Kn@sA+E=vgZZ$hnTZjw|8G5SFV8$k1cOY`cmNO*`&T@`lYGg8 zP#_p#VJtAs13to|IOglr1ppvJgpq;Wea26WMc|2UDZ;h7(4c5fz6M{X=Nmg&o5PLs zp$^THpP@qH8Z=~p({J7yg1-LT7{=6%SS-ITkp3=H5$_i&Dy@Y`DgwKlelh6uAao3k zyQl58YtU;u$0H$1q0_hTZ-z~7J*6MI`u~6cDb8?6bJ350?$mMbEv5inq$+5&!vdoWz@l<9Cn|3vbSKmP>y zN0rlDB?6P6Q5GLWZupsgs_^-h-l$kUiF;sYa9qYxjebK!f4Cf>`p@*vzTtbhwkx;d zCEXKjV^(V=+aw+^FSZ&2$C&|r-PS55BspA83%+9;>8gG)3vqUI9?*uZBlM>6yTHjc zvi+LvZ+n`2dSVOf(`vyLt;wW7&DNbq)Z00H+D%!nClXvNZKYHF*5zh9fAab2Y$Cd9 zfk!;w6!v#ZqG;EX!n}FAQ3g_LzUSBa15UMGQBe4%tdx5zO6Lhn7Dy=N*rX7I&vxGZ zpt`pOTb`>VT0Y{p4$;*remujQNj~-gwbhhSnK*k6T4iSCb>SiDVVdfuoZmo5YyUV7 z_!bSC+e#c!&NiZK$vT1iIxo{lr~^$sGb-`tEze3QTBFY7#a?A+I>A)n$U0o7;K-DN z>RsIo#cFR_H?x-Q@bcTl3X60e!G7cq9q++6whm!C{&@ec%gOxgoZdGoQD?;<0o!S- zahi?FSx+AgtN#8)lY`XYj}4X(bnL;qB!kK4NIEyF5pO67JfZ8J1SG{LX$*7c^NgH^_LgpR zbipW$CDXcz9a&~~HVYB08aQrXbMee7u$ZYsi*jIoKiIj-V(4p_=W7+^01aOz=shYN z@q(G=xqVuDt+xl(A3C@QeU;M{O0kf0e8p3K#~O}13XyFQgb#mia*mcIs)fKn; zWn=J8t~CjGmGU!xOuUsCH*F2}xFCJ!%|{259>IG78FQ-+SZd;jU#S9N%8@~~1nhQh z;*1oZK97ETo?*@3yH0P~!bc+TZe0wh)^KfZu@x9s88#RrKGXsZs_Or)?6la_BCGRx`nDUYHh8f1w}t0r6)_RA!R ziP)C3taqFC%xXr6Xtiq%d#lLu2aUZVm$apt#ne|cypIrjyYv$7rp-D+o>-WQk6Ijj zV(&}{;m%@{C%HmDf4M;SW=#wyRkJDF`XEun9^`dQSGDG*FEu8O;Ttz8el{VOQ_=M% z1&UYqDXNP4j2=~^@HyoTbL-|1r8Q2)k}=&b@VDKiKEYUG`6p_ z=fEej^ay84m;h1t9$9%r6ooAjt#;fZFP~<##xE3*KPeUbmd2tVmWiCTU3AP=+z7GM zGEg6SIGKEmpavcP`t(90|I8Didc+;~*G_`(*`Dtr5l7n^*6h+7Pwt{6&|y2^Sr)h4 z^lMa_0>SFXDq^FW;DT%1_Narx7ksaT%zCcujH!QBBe}w>Bpi8&Raw2oH&IG5@JAa* ziEV#%u~$I?3ud2)>A`xLVRfa-NxszUwMm%qe62hvgEw*vC+07vc?qn6RxT@50)km@ zOb5T=gJg1i+YHBvtz_htI=3hQD5pK)-H zeZ&YJ*=ur=Lhm`;khI77?Qg5M2TJN&PTW3ArKv9M7cCwxRcrMZBP7zioZobSo4!Kr zKUW&JJWGid!0ii$QcGZP`4>*RHoF-1^3O_Og>x)uZv$IWKq$^eE6Uqt=LrgpV%M^t z`X^(;lJmIA)?uCO7eV>MA{^gK0pf_Rip7SlU ze?M+6GZ2g^Wm_hE^zw_HZ*aVJvM*h=(fs~|?qW@9b00q5%EQV#fD!l^v8QjW_R*E! zy6#ysb%~%c+h(pOd78^nr%n`j7l!QAp|Wm?Hg+PqVlLXW#{2cDVN4|E81}24e7A0J zAsMk4^&j^Oqwhk{HJ7pjBuCxdZ)DtfN9ZwZyh~MA(c!P(!AmNl%ft8e^nAm@e-GA2 z6`b>@WW4mMzH!gu{(l+n4v017$N}WpueW`JYIIPyIhv2n9<+yx^2VpN$hBMZ^GUmo zVo%>*5i`Foy(q{2Y38YTv6e1M>axQ*)EcNLAo?%XLg)B9@+xC(kThi)vA%E~> zj?o)F`;b!eGO-Tt1T2*OIy)L2i_x7@gr!)WF@L#0%PG5^~um6xEJT>UJG=Q{B z?EuYPOZ`6d=Z*%vRp2THd@ZX6dCS#X`2P4^#LOczWPnXup3Er59mf%P0m)JlDfmOr zaq@Xa8OIUOGiowljg=Ejb$1QuRoWB`><~*KD`eiYzEjuFF9l2KFLZyf+8JDKfcv6Q zPwRDtRKhA&OUrK^CnOkW$x^-3TQ^zug z9A~%GRj9wKbn?R-$9>U_!8Ybco96b8N2pcHy(J5gh!zt>F^hyrk5FA&=q1EO(U(Wk zJ`OGRKZ3hH>Uvb>C>=+YGQF9;1^^7)9!{fD3@2M4OK;`?fI)x|?mMb*gpf02vGNbW zT~B3MiTnM5I;oV3008~_qR;2QuPEv_n!Yg#0MNf5g~Q=v*ysu=FU$e}1BC$D)T4u* zM@VV@B>*sZ5R{}$Pzr6>O*27W&&>b;gHM`fgi!vr)ofJBd~v$>@|+<0rc^cZ6ED3< z($UdGFX2fjBnQ!cS*PW!dxmKr9CR)R2*+Iz1OeLZcCPcBrczfsgu8)&bOinR!Lk~; zt{-M+@}2yvrW*lNxsKhhb{#d6yyC|5X#E6^cHg$l3C5EzraiU1qN*p6l(VhoGv>!h zCN3NJ*(Rlstl@dA)!N%<2#MiK_E)H!3HEvS)PKZa8DP5Y1p3AV;mdKI;Vst08RHZO#lD@ literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/classes.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/classes.html new file mode 100644 index 0000000..0ed8ad1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/classes.html @@ -0,0 +1,86 @@ + + + + + + + +AXaudio: Data Structure Index + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
Data Structure Index
+
+
+ + + + + + +
  _  
+
_AXAudioOutput   _AXAudioStream   
_AXAudioFrame   
+ +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/closed.png b/docs/acap-sdk-version-3/api/src/api/axaudio/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..8be2d7b0ec3d8e504d722bd3249dfef20c145ab0 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vo}Mm_Ar*{o=N{x`P~>27=QiG_ z^DFMyF_RfFOfDOn&c5qr+{VH%`Qm;~iF5{eezgM;%uBb~+Q)t3ez + + + + + + +AXaudio: common.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
common.h
+
+
+
1 #ifndef _AX_AUDIO_COMMON_H_
2 #define _AX_AUDIO_COMMON_H_
3 
4 #include <axaudio.h>
5 
6 #define MDP_REPLY_OK "OK"
7 #define MDP_REQUEST_OPEN "OPEN"
8 #define MDP_REQUEST_CLOSE "CLOSE"
9 #define MDP_REQUEST_PULL "PULL"
10 #define MDP_REPLY_LENGTH 16
11 #define MDP_REQ_LENGTH 1024
12 
13 #ifdef DEBUG
14 #define D(x) x
15 #else
16 #define D(x)
17 #endif
18 
19 /* uses comma operator, eval from left to right,
20  * return right-most expression.
21  * Purpose: return 'type' and increment pointer by sizeof (type)
22  */
23 #define MDP_HEADER_READ(header, type) \
24  (header += sizeof (type), *((type *)(header - sizeof (type))))
25 
26 gboolean
27 ax_audio_connect(AXAudioStream *stream, const gchar *media_type,
28  const gchar *media_props);
29 
31 read_audio_frame(const AXAudioStream *audio_instance);
32 
33 #endif /* _AX_AUDIO_COMMON_H_ */
The main include for the AXAudio interface and its associated functions.
+
Definition: ax_audio_datatypes.h:17
+
Definition: ax_audio_datatypes.h:25
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/customdoxygen.css b/docs/acap-sdk-version-3/api/src/api/axaudio/html/customdoxygen.css new file mode 100644 index 0000000..fa14eb0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/customdoxygen.css @@ -0,0 +1,79 @@ +#projectname +{ + text-indent: 200px; +} + +table.doxtable th { + background-color: #978a7e; +} + +dl.note +{ + border-color: #ffcc33; +} + +div.header +{ + border-bottom: 5px solid #ffffff; + background-color: #ffcc33; +} + +div.headertitle +{ + background-color: #ffcc33; + padding: 1px 0px 0px 15px; +} + +a { + font-weight: bold; + color: #666666; +} + +.contents a:visited { + color: #666666; +} +a.el { + color: #666666; +} + +.arrow { + color: #666666; +} + +.navpath li.navelem a +{ + font-weight: bold; + color: #000000; +} + +.navpath li.navelem a:hover +{ + font-weight: bold; + color:#666666; +} + +.navpath li.footer +{ + font-weight: bold; + color: #000000;; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px #ffcc33; +} + +div.line.glow { + background-color: #ffcc33; + box-shadow: 0 0 10px #ffcc33; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: #ffcc33; + box-shadow: 0 0 15px #ffcc33; +} + +.memitem.glow { + box-shadow: 0 0 15px #ffcc33; +} + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/doc.png b/docs/acap-sdk-version-3/api/src/api/axaudio/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..a93ee1079085b4d72132604f8d3d4ed539340f48 GIT binary patch literal 705 zcmV;y0zUnTP)BqF4!n7C!EEELfL&1o$&=?o~2orby3=>_{g)#mqSL(vJH73NkAOfYO zv<3SywbT0ETQFj0aA8=u>dAcc_C5E!=RLh!qu=iXTo_D%i^PQ!L;(IorBd$qdOdu< ztDk#*56^4U@jPPjI94P=JQgSAI5^IT0T2eOP$&SLLAkVFNTwX3(U?X=3Pz$)xkhQX zo7lFElTORJBBp5-Y&-D+AP9j9Ow+(H27o@6Wy!sXdUBjJ$HzxZOy*!5ihH}Vg1+l! z0+ob%@H>fuX_}%!6iI99wW?l|N~MKpipoKWX0s7Ej-do<$Ev8b;N;%WN}|%H^vEb5 zKfL4p+c$juvPGxkDFT2Y1bT2(uN6|_f!cYi)zk!0@xW`hML`TlcCK2LNF=rCtyTk5 z*0`DMkQad-3|cf0cTnC(g)uihOR>0v-|b>cVat+&?iigPo?hqsKEM#pX_4x^$?V($ za)x_tma2vwj=R0>qViK!gRD{I`mwaLQbGTE_9EUnz& z_U64`UI7H*90h~0?e1(#kjgTG%7f~V2RhLJA^6J_4Ln$q-OuFb0zEiQJU|cv6{x9D zKT>Cr%7Y5k$v0YodLNU&jF^P(bTeTGS17^jm(Te0d5dHs0T7C&7=L}`8jl`70T@Cc nL4J1Lc>4Smz(3>vKQey;u(G`oh?v!A00000NkvXXu0mjfF@8vB literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/doxygen.css b/docs/acap-sdk-version-3/api/src/api/axaudio/html/doxygen.css new file mode 100644 index 0000000..db3f76e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #C8C7C2; + color: #8A877C; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #959288; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #A29F96; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #D2D1CD; + color: #ffffff; + border: 1px double #C8C6C1; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FDFDFD; + border: 1px solid #E5E4E2; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #F6F6F5; + font-weight: bold; + border: 1px solid #E5E4E2; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #F6F6F5; + border: 1px solid #E5E4E2; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #F7F7F6; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #FBFBFB; + border-left: 2px solid #D2D1CD; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #D6D5D1; +} + +th.dirtab { + background: #F6F6F5; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #A6A49B; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FCFCFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #A29F96; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #F2F2F1; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #A29F96; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 0px 6px 0px; + color: #6E6B62; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #F1F1EF; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 10px 2px 10px; + background-color: #FDFDFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #BEBCB6; + border-top:1px solid #AEABA3; + border-left:1px solid #AEABA3; + border-right:1px solid #E5E4E2; + border-bottom:1px solid #E5E4E2; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #D2D1CD; + border-bottom: 1px solid #D2D1CD; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #FBFBFB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #959288; +} + +.arrow { + color: #D2D1CD; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #BEBCB6; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #78756B; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #D8D7D3; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #D8D7D3; + border-bottom: 1px solid #D8D7D3; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #D8D7D3; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #F2F2F1; + font-size: 90%; + color: #6E6B62; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #D8D7D3; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#CAC8C3; + border:solid 1px #E4E3E1; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#8B887D; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #757168; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#B9B6B0; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#8B887D; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FCFCFC; + margin: 0px; + border-bottom: 1px solid #E5E4E2; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #AEABA3; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #CDCBC6; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#878378; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #FAFAFA; + border: 1px solid #EEEDEC; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #A29F96; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/doxygen.png b/docs/acap-sdk-version-3/api/src/api/axaudio/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..69a921c279e71363b64e6868642ba060f2060323 GIT binary patch literal 3811 zcmV<94jl1`P)W+@m)6{PS0tMorm{%*R%Jx-gSG|?_F#C zYgJ!g4*;zM0FNL&1^}%D0FNeFO`RM901rcY0P39s0IdW7Kc7-}y$=A*k~IK41SO6d zE8gT9sn9qb9?}3B>;FZSy=%<^VAeTjzk6`z4%@9?*L>7pTxR4 zA`g*uo^7P0?oP3gV?W*i)cYjK)mg|%aY&2pNw%BRYsxmA=QI%~+h$p|nc0Nx^Q6Z- z0MHQW2Z=uTuF_&3d{>RHW@5Tdaz)`&Uga3r7W-viDKyuGoHqr~N+%~rbHGb~K#!h% z1V-(p8vSRV9&8by$cV6cJgb6(gFReayQ5Plr-mr5U&Y0mDh|*@pUK<*n*KJ)I+CAS zFR#7;lwDF%%yPaYb4s+C=C&w`2K$V_ z{rgP=#C)S+@=DeXn>ro#_WV$k#rpmFdt=y$=RDGPZd*;kc1li3TTVJTqxEC;u5QYM zJ^fW7HgDQ!B%4ueGblL7IQAueTn+2)-8)zjyAUr2PeQNWUNZmCXMaap+Aag>B`_8N z0l&w{=U$Z0OV5?y@Zlo{@?A!WIyfzImPTKSk?pJR&UQ=7DuYD3@;zUfFcnX9c?tkD z#CCWM^&1tmWBZ?j$lqAHD}&_C;7kdhDa+PWpNIF5VMZTc|3-1_N=-5nNJRuvs@2rV zAwpYYgqJLR1NIKu1Oq@*G(GZ<{L_wTT#p{z_eL*RrnwvdSP~~7al>0EFRz-&-{f=e z@;Bl&dYK=j;qM1Oi6@(8OPjk=w<0g^X#Dt~AoJLlUY7Y+E`N)drRJh-+u!x0xUyqj zU#S89;Kv8BKQl9m{thri8jU_fM*u*Jbm;R>ke-$nLv|C$Za9IH6!E7ynwZ%4ojbRo z_Sf(z&R~7~>P*rNBVGN75q{ZI!e;S6$nfHef#_&wPZe>$A(?mX;CTLF zR99EP&CL`3qsIV1Q)HYF8i6)#Y-C+_kay@);s1z{zm;Db%dqUKxE02vjR(drw=zo!M1G!cswGA7eq0MGpb(WSIY5a%2gN2kEAEvhwh=HDsq%6sANt2Mh`oC z2U+NogIUNrkQGmVxkR(y*}4OOvS-hj#y?(k=@OH9h0MQq_b%RCxdhj)-4N=zb7zO7 z*yU?rV{0qRB*d>kMMbq2**s5n5+kNX8aZ)l8*2G~Uil8oV_)M$OeCFZ(n()nG7B?A zT8DH03w!tMi5WBI`8aNY@?0oAiwz0!JQGe%3=NI*AEi9B3pJHk{ni_d9=9-^<+)^& zhd0?xZ_cjB@|Zb$j-g+F5f80?(eU9zvnNea#_7%PZyY)S?ICb=Qx%`^MGXUzX^YrYcIjgR!V5gZ|lD4Pvcht^gxQ$7RTig5Zy%$6B!eAvi(?iIF4;bK; z6ghn!0BA^*jVD?8v4}dg>o#n5v{hBwir7UkEsBA<6EKew;mjS$ykwcan`^@$=d~wo zJB}SY9!R!x9uy}h*-{q(S|U{*6PnAh2vBx&u?YYT9qN-kagxxogmv*k71qVC)&TVO zrmX;!J#Vfs@M1zjLgI$|E0;QQ_)}zLWWs=G^qXDRQPFd+$!_!^^WJce912y_|F33qdzL)yk$?0)nc1XPD z;%rLyLa=I*->+YJbEbeB4bY~3XY!$B$*sKA4mT88fVNG z`Z@qu(nnbt`26$Sc#_w&Inu3NwI;!_DZP6%yOu67)sYUjH{mND*rT%Yf)_u6 z=JF&}&;pZL-<9T^WsVpip&PuuBF@9k&R!NcdgOEL&&(|1|2{s0bRiR_0#NoM(_CRT zQy{eq&9ShtQIeFp;~f+ieXC!L zSOfLQ6Sz9Vq@ z)JaLd$kI3a-MC?$43K3GGTz&X?YFppNI##cCvOOyHLuO1fOt9D|M?z|lWO%mM%nef;4E$jv<*MzWczn2(wlFVi)3 z9{{kVd%3{%SG0KtmM^eH^}pd;wV`b zyTU^)$MG(YeXWk1X-_K#L^l zGeCm}>#~DGrpRZtmuj#naia{--01mw=dMZx?aSDO6DNvffOxHZ;e|0~KkBnKHa414 z{M&&H%$O|zBCn-O7775ZTC<-2hdVgfC5?MI7*9Xb4*(j`*)v~Lu={Z1#?6`Zd4S|= zXGP72x~&!*JA|yPza^8+XtFua>zQ5z;B)}WPTRQ+C1*;sevsY>AOR%TZqDX`6ezFj z*RCQj?mP(gI=LH&9~M9P*M3N;+@GB-vIy`5!uwyPbXDA8a)aCXpW>R27snW0Lad+LpuGR1OUGxn)AaC zKQ5ddHLrVTr^jXH=~IRH=)(_TYiq+Vauku=SAP8Q_S*pg0ka1U@oNJB4!^>3Z0MP8J%5vl#%7wM{Z?b>W2Wuy%Cp4|`+Ep6v)#q{g^eNo<{$`SmO`CE$ znnmD@`cHuaK(pl**SlBGUsa1cS6Y^S_wGH8GFkI&^41n8B1*+qSmo*r5YD+I7H{D_70zg2+TRw1Wu%{sTn!6Iz@E z5D)d90Pz2SsH7U^F97^Z;{Ng^kvjnVA5j?rlw+N`>wW&n5eWcV2>>1udJF(s2>>2V Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/dynsections.js b/docs/acap-sdk-version-3/api/src/api/axaudio/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +AXaudio: Examples + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
Examples
+
+
+
Here is a list of all examples:
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/examples.js b/docs/acap-sdk-version-3/api/src/api/axaudio/html/examples.js new file mode 100644 index 0000000..dbcdf6f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/examples.js @@ -0,0 +1,4 @@ +var examples = +[ + [ "axaudioexample.c", "axaudioexample_8c-example.html", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/files.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/files.html new file mode 100644 index 0000000..0aece09 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/files.html @@ -0,0 +1,88 @@ + + + + + + + +AXaudio: File List + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + + + + + + + +
 ax_audio_config.h
 ax_audio_datatypes.h
 ax_audio_error.hAXAudio error codes
 ax_audio_output.h
 ax_audio_utils.h
 axaudio.hThe main include for the AXAudio interface and its associated functions
 common.h
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/files.js b/docs/acap-sdk-version-3/api/src/api/axaudio/html/files.js new file mode 100644 index 0000000..adccf33 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/files.js @@ -0,0 +1,10 @@ +var files = +[ + [ "ax_audio_config.h", "ax__audio__config_8h_source.html", null ], + [ "ax_audio_datatypes.h", "ax__audio__datatypes_8h_source.html", null ], + [ "ax_audio_error.h", "ax__audio__error_8h.html", "ax__audio__error_8h" ], + [ "ax_audio_output.h", "ax__audio__output_8h_source.html", null ], + [ "ax_audio_utils.h", "ax__audio__utils_8h_source.html", null ], + [ "axaudio.h", "axaudio_8h.html", "axaudio_8h" ], + [ "common.h", "common_8h_source.html", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/folderclosed.png b/docs/acap-sdk-version-3/api/src/api/axaudio/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..32f346dfdd52aca9b97ecdbd5a7d2eb71d5431e4 GIT binary patch literal 583 zcmV-N0=WH&P)!A1!UctQj_=)>@jY|znHjfCN(lg4g8=~B#MTLR0HBD`=$D*cUjfKktKEg) z8!!NP3|10Q@P^$=-x*_=-b{!903HQa6#2*ZQ+fC2H|%CR4Nh}zZ>RCQdZc>D=0DU| zt3JWOi&xq}WjGuH$lA~Iv*Gjom$1}it6GD#SB?BuvjbaYMZ{$5^#6>T;|sh#e5Z+A zA~^Z_MS6aq{W$Zf-jrFqvyv=g0t1t)ks^4%iQu#BbiFhH85J+JBq$L8fDVS6>r1?O z`#~ElX+UCy;r&vBa-fJf(LXx`UwR3ciwH zJ`c0iJg`Y39dd(4fpE<^kV>p^uCjWdhqsy9)psN>_#5Y}vhFz&*duJul#n z=X1yHDfqnW_`KtI+);4dfV*m(;PnRF5Bj{_ak*)lpVnqzS+$P<@UQUy|D$c4;4i2n V{UzU_>T>`9002ovPDHLkV1jg!4EO*5 literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/folderopen.png b/docs/acap-sdk-version-3/api/src/api/axaudio/html/folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..3d86075e9e8354717712986c13057ce1eae0c6e4 GIT binary patch literal 586 zcmV-Q0=4~#P)FY*etmehFu1r||vFCjhVtZM985et1t$fBrzan(Xs)GU{y3 z)5q-O^yPX32iI@ploX0Q4JUBD7CZ*uXQRKFfZHv$=fiOs98Zk45yD;(p7SepXcj>RPj4q+%5{DR(bf$cF2}Qts zKE>_h2jv7Oub$Cbt)A9EcF1x^rBe}omd5#fhU2>r%L!h;d`c~=mcP7YtLE~<3GUo` zRNkg3^Evh^u>=69pls9e=o^6S;b{_uOkAmKK2}T<0CFfO*z5I4|L`VZzeuuw&?mue zj|4kC((de#_I5zFu6D>)yF<3wyc_I^eSW8R?T~c3y97Y)DJW>Qt~>^SzlHz*XaG=( Y-&=9_qAhf1ng9R*07*qoM6N<$g53QY82|tP literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals.html new file mode 100644 index 0000000..8061286 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals.html @@ -0,0 +1,239 @@ + + + + + + + +AXaudio: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- a -

+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_defs.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_defs.html new file mode 100644 index 0000000..c96e85f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_defs.html @@ -0,0 +1,78 @@ + + + + + + + +AXaudio: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_enum.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_enum.html new file mode 100644 index 0000000..f843386 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_enum.html @@ -0,0 +1,84 @@ + + + + + + + +AXaudio: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_eval.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_eval.html new file mode 100644 index 0000000..47fd962 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_eval.html @@ -0,0 +1,129 @@ + + + + + + + +AXaudio: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_func.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_func.html new file mode 100644 index 0000000..5439a3f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_func.html @@ -0,0 +1,162 @@ + + + + + + + +AXaudio: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_type.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_type.html new file mode 100644 index 0000000..047dcdf --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/globals_type.html @@ -0,0 +1,84 @@ + + + + + + + +AXaudio: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/index.html b/docs/acap-sdk-version-3/api/src/api/axaudio/html/index.html new file mode 100644 index 0000000..3b4fa2f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/index.html @@ -0,0 +1,77 @@ + + + + + + + +AXaudio: Main Page + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXaudio +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
AXaudio Documentation
+
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axaudio/html/jquery.js b/docs/acap-sdk-version-3/api/src/api/axaudio/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axaudio/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;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=$(' + + +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+
+ + + + +
 Caxoverlay_overlay_data
 Caxoverlay_palette_color
 Caxoverlay_settings
 Caxoverlay_stream_data
+ + + + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/annotated_dup.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/annotated_dup.js new file mode 100644 index 0000000..d5cc3cb --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/annotated_dup.js @@ -0,0 +1,7 @@ +var annotated_dup = +[ + [ "axoverlay_overlay_data", "structaxoverlay__overlay__data.html", "structaxoverlay__overlay__data" ], + [ "axoverlay_palette_color", "structaxoverlay__palette__color.html", "structaxoverlay__palette__color" ], + [ "axoverlay_settings", "structaxoverlay__settings.html", "structaxoverlay__settings" ], + [ "axoverlay_stream_data", "structaxoverlay__stream__data.html", "structaxoverlay__stream__data" ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axis-logo.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axis-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7afe144721cea33a1b4fd747dd3ea0b77b2b347a GIT binary patch literal 2757 zcmZ{mYdq5p8^`|+tSv0RaGT1Yv4qd*ImzGWz52 zK~KI={_DW_ZyHz_0Kn@sA+E=vgZZ$hnTZjw|8G5SFV8$k1cOY`cmNO*`&T@`lYGg8 zP#_p#VJtAs13to|IOglr1ppvJgpq;Wea26WMc|2UDZ;h7(4c5fz6M{X=Nmg&o5PLs zp$^THpP@qH8Z=~p({J7yg1-LT7{=6%SS-ITkp3=H5$_i&Dy@Y`DgwKlelh6uAao3k zyQl58YtU;u$0H$1q0_hTZ-z~7J*6MI`u~6cDb8?6bJ350?$mMbEv5inq$+5&!vdoWz@l<9Cn|3vbSKmP>y zN0rlDB?6P6Q5GLWZupsgs_^-h-l$kUiF;sYa9qYxjebK!f4Cf>`p@*vzTtbhwkx;d zCEXKjV^(V=+aw+^FSZ&2$C&|r-PS55BspA83%+9;>8gG)3vqUI9?*uZBlM>6yTHjc zvi+LvZ+n`2dSVOf(`vyLt;wW7&DNbq)Z00H+D%!nClXvNZKYHF*5zh9fAab2Y$Cd9 zfk!;w6!v#ZqG;EX!n}FAQ3g_LzUSBa15UMGQBe4%tdx5zO6Lhn7Dy=N*rX7I&vxGZ zpt`pOTb`>VT0Y{p4$;*remujQNj~-gwbhhSnK*k6T4iSCb>SiDVVdfuoZmo5YyUV7 z_!bSC+e#c!&NiZK$vT1iIxo{lr~^$sGb-`tEze3QTBFY7#a?A+I>A)n$U0o7;K-DN z>RsIo#cFR_H?x-Q@bcTl3X60e!G7cq9q++6whm!C{&@ec%gOxgoZdGoQD?;<0o!S- zahi?FSx+AgtN#8)lY`XYj}4X(bnL;qB!kK4NIEyF5pO67JfZ8J1SG{LX$*7c^NgH^_LgpR zbipW$CDXcz9a&~~HVYB08aQrXbMee7u$ZYsi*jIoKiIj-V(4p_=W7+^01aOz=shYN z@q(G=xqVuDt+xl(A3C@QeU;M{O0kf0e8p3K#~O}13XyFQgb#mia*mcIs)fKn; zWn=J8t~CjGmGU!xOuUsCH*F2}xFCJ!%|{259>IG78FQ-+SZd;jU#S9N%8@~~1nhQh z;*1oZK97ETo?*@3yH0P~!bc+TZe0wh)^KfZu@x9s88#RrKGXsZs_Or)?6la_BCGRx`nDUYHh8f1w}t0r6)_RA!R ziP)C3taqFC%xXr6Xtiq%d#lLu2aUZVm$apt#ne|cypIrjyYv$7rp-D+o>-WQk6Ijj zV(&}{;m%@{C%HmDf4M;SW=#wyRkJDF`XEun9^`dQSGDG*FEu8O;Ttz8el{VOQ_=M% z1&UYqDXNP4j2=~^@HyoTbL-|1r8Q2)k}=&b@VDKiKEYUG`6p_ z=fEej^ay84m;h1t9$9%r6ooAjt#;fZFP~<##xE3*KPeUbmd2tVmWiCTU3AP=+z7GM zGEg6SIGKEmpavcP`t(90|I8Didc+;~*G_`(*`Dtr5l7n^*6h+7Pwt{6&|y2^Sr)h4 z^lMa_0>SFXDq^FW;DT%1_Narx7ksaT%zCcujH!QBBe}w>Bpi8&Raw2oH&IG5@JAa* ziEV#%u~$I?3ud2)>A`xLVRfa-NxszUwMm%qe62hvgEw*vC+07vc?qn6RxT@50)km@ zOb5T=gJg1i+YHBvtz_htI=3hQD5pK)-H zeZ&YJ*=ur=Lhm`;khI77?Qg5M2TJN&PTW3ArKv9M7cCwxRcrMZBP7zioZobSo4!Kr zKUW&JJWGid!0ii$QcGZP`4>*RHoF-1^3O_Og>x)uZv$IWKq$^eE6Uqt=LrgpV%M^t z`X^(;lJmIA)?uCO7eV>MA{^gK0pf_Rip7SlU ze?M+6GZ2g^Wm_hE^zw_HZ*aVJvM*h=(fs~|?qW@9b00q5%EQV#fD!l^v8QjW_R*E! zy6#ysb%~%c+h(pOd78^nr%n`j7l!QAp|Wm?Hg+PqVlLXW#{2cDVN4|E81}24e7A0J zAsMk4^&j^Oqwhk{HJ7pjBuCxdZ)DtfN9ZwZyh~MA(c!P(!AmNl%ft8e^nAm@e-GA2 z6`b>@WW4mMzH!gu{(l+n4v017$N}WpueW`JYIIPyIhv2n9<+yx^2VpN$hBMZ^GUmo zVo%>*5i`Foy(q{2Y38YTv6e1M>axQ*)EcNLAo?%XLg)B9@+xC(kThi)vA%E~> zj?o)F`;b!eGO-Tt1T2*OIy)L2i_x7@gr!)WF@L#0%PG5^~um6xEJT>UJG=Q{B z?EuYPOZ`6d=Z*%vRp2THd@ZX6dCS#X`2P4^#LOczWPnXup3Er59mf%P0m)JlDfmOr zaq@Xa8OIUOGiowljg=Ejb$1QuRoWB`><~*KD`eiYzEjuFF9l2KFLZyf+8JDKfcv6Q zPwRDtRKhA&OUrK^ + + + + + + +Axoverlay Library: src/axoverlay.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
axoverlay.h File Reference
+
+
+ +

Overlay helper library for creating and rendering custom overlays. +More...

+
#include <glib.h>
+
+Include dependency graph for axoverlay.h:
+
+
+ + +
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Data Structures

struct  axoverlay_stream_data
 
struct  axoverlay_overlay_data
 
struct  axoverlay_palette_color
 
struct  axoverlay_settings
 
+ + + + + + + + + + + + + +

+Macros

#define AXOVERLAY_QUAD_CAMERA_ID   0
 
#define AXOVERLAY_DEFAULT_CAMERA_ID   1
 
#define AXOVERLAY_Z_PRIO_LOW   0
 
#define AXOVERLAY_Z_PRIO_MEDIUM   1000
 
#define AXOVERLAY_Z_PRIO_HIGH   2000
 
#define AXOVERLAY_Z_PRIO_VERY_HIGH   3000
 
+ + + + + + + +

+Typedefs

typedef gboolean(* axoverlay_stream_select_function) (gint camera, gint width, gint height, gint rotation, gboolean is_mirrored, enum axoverlay_stream_type type)
 
typedef void(* axoverlay_adjustment_function) (gint id, struct axoverlay_stream_data *stream, enum axoverlay_position_type *postype, gfloat *overlay_x, gfloat *overlay_y, gint *overlay_width, gint *overlay_height, gpointer user_data)
 
typedef void(* axoverlay_render_function) (gpointer rendering_context, gint id, struct axoverlay_stream_data *stream, enum axoverlay_position_type postype, gfloat overlay_x, gfloat overlay_y, gint overlay_width, gint overlay_height, gpointer user_data)
 
+ + + + + + + + + + + + + +

+Enumerations

enum  axoverlay_error_code {
+  AXOVERLAY_ERROR_INVALID_VALUE = 1000, +AXOVERLAY_ERROR_INTERNAL = 2000, +AXOVERLAY_ERROR_UNEXPECTED = 3000, +AXOVERLAY_ERROR_GENERIC = 4000, +
+  AXOVERLAY_ERROR_INVALID_ARGUMENT = 5000, +AXOVERLAY_ERROR_SERVICE_UNAVAILABLE = 6000, +AXOVERLAY_ERROR_BACKEND = 7000 +
+ }
 
enum  axoverlay_colorspace { AXOVERLAY_COLORSPACE_ARGB32, +AXOVERLAY_COLORSPACE_4BIT_PALETTE, +AXOVERLAY_COLORSPACE_1BIT_PALETTE, +AXOVERLAY_COLORSPACE_UNDEFINED + }
 
enum  axoverlay_position_type {
+  AXOVERLAY_TOP_LEFT, +AXOVERLAY_TOP_RIGHT, +AXOVERLAY_BOTTOM_LEFT, +AXOVERLAY_BOTTOM_RIGHT, +
+  AXOVERLAY_CUSTOM_NORMALIZED, +AXOVERLAY_CUSTOM_SOURCE +
+ }
 
enum  axoverlay_backend_type { AXOVERLAY_CAIRO_IMAGE_BACKEND = 1, +AXOVERLAY_OPENGLES_BACKEND = 2, +AXOVERLAY_OPEN_BACKEND = 3 + }
 
enum  axoverlay_anchor_point { AXOVERLAY_ANCHOR_TOP_LEFT, +AXOVERLAY_ANCHOR_CENTER + }
 
enum  axoverlay_stream_type {
+  AXOVERLAY_STREAM_JPEG, +AXOVERLAY_STREAM_H264, +AXOVERLAY_STREAM_H265, +AXOVERLAY_STREAM_YCBCR, +
+  AXOVERLAY_STREAM_VOUT, +AXOVERLAY_STREAM_OTHER +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void axoverlay_init_axoverlay_settings (struct axoverlay_settings *axoverlay_settings)
 
void axoverlay_init (struct axoverlay_settings *axoverlay_settings, GError **error)
 
void axoverlay_cleanup (void)
 
void axoverlay_reload_streams (GError **error)
 
void axoverlay_redraw (GError **error)
 
void axoverlay_init_overlay_data (struct axoverlay_overlay_data *data)
 
gint axoverlay_create_overlay (struct axoverlay_overlay_data *data, gpointer user_data, GError **error)
 
void axoverlay_destroy_overlay (gint id, GError **error)
 
void axoverlay_set_overlay_position (gint id, enum axoverlay_position_type postype, gfloat x, gfloat y, GError **error)
 
void axoverlay_set_overlay_size (gint id, gint width, gint height, GError **error)
 
gint axoverlay_get_max_resolution_width (gint camera, GError **error)
 
gint axoverlay_get_max_resolution_height (gint camera, GError **error)
 
gboolean axoverlay_is_backend_supported (enum axoverlay_backend_type backend)
 
gint axoverlay_get_number_of_palette_colors (GError **error)
 
void axoverlay_get_palette_color (gint index, struct axoverlay_palette_color *color, GError **error)
 
void axoverlay_set_palette_color (gint index, struct axoverlay_palette_color *color, GError **error)
 
+

Detailed Description

+

Overlay helper library for creating and rendering custom overlays.

+
Author
Martin Danielsson
+
Date
21 Feb 2019
+

axoverlay contains a number of functions that simplifies the task of creating and rendering custom overlays.

+

Copyright (C) 2017, Axis Communications AB, LUND, SWEDEN

+

Macro Definition Documentation

+ +

◆ AXOVERLAY_DEFAULT_CAMERA_ID

+ +
+
+ + + + +
#define AXOVERLAY_DEFAULT_CAMERA_ID   1
+
+

Id used for the default camera.

+ +
+
+ +

◆ AXOVERLAY_QUAD_CAMERA_ID

+ +
+
+ + + + +
#define AXOVERLAY_QUAD_CAMERA_ID   0
+
+

Id used for the quad camera.

+ +
+
+ +

◆ AXOVERLAY_Z_PRIO_HIGH

+ +
+
+ + + + +
#define AXOVERLAY_Z_PRIO_HIGH   2000
+
+

Predefined value for high z order priority.

+ +
+
+ +

◆ AXOVERLAY_Z_PRIO_LOW

+ +
+
+ + + + +
#define AXOVERLAY_Z_PRIO_LOW   0
+
+

Predefined value for low z order priority.

+ +
+
+ +

◆ AXOVERLAY_Z_PRIO_MEDIUM

+ +
+
+ + + + +
#define AXOVERLAY_Z_PRIO_MEDIUM   1000
+
+

Predefined value for medium z order priority.

+ +
+
+ +

◆ AXOVERLAY_Z_PRIO_VERY_HIGH

+ +
+
+ + + + +
#define AXOVERLAY_Z_PRIO_VERY_HIGH   3000
+
+

Predefined value for very high z order priority.

+ +
+
+

Typedef Documentation

+ +

◆ axoverlay_adjustment_function

+ +
+
+ + + + +
typedef void(* axoverlay_adjustment_function) (gint id, struct axoverlay_stream_data *stream, enum axoverlay_position_type *postype, gfloat *overlay_x, gfloat *overlay_y, gint *overlay_width, gint *overlay_height, gpointer user_data)
+
+

The purpose of this callback is to let developers make adjustments to the size and position of their overlays for each stream. This callback function is called prior to rendering every time when an overlay is rendered on a stream. This may happen when a stream opens/changes or when you manually force a redraw. If the size of the overlay differs between invokations it will be restarted and may flicker. It is adviced to keep the size constant for performance reasons.

+

Note that there is no need to modify the size of the overlay to match the stream resolution since the is done automatically unless scale_to_stream was set to FALSE when the overlay was created..

+
Parameters
+ + + + + + + + + +
idThe id of the overlay
streamThe stream that the overlay is displayed on
postypeThe position type.
overlay_xThe x coordinate of the overlay, may be changed
overlay_yThe y coordinate of the overlay, may be changed
overlay_widthThe width of the overlay, may be changed
overlay_heightThe height of the overlay, may be changed
user_dataOptional user data associated with this overlay
+
+
+ +
+
+ +

◆ axoverlay_render_function

+ +
+
+ + + + +
typedef void(* axoverlay_render_function) (gpointer rendering_context, gint id, struct axoverlay_stream_data *stream, enum axoverlay_position_type postype, gfloat overlay_x, gfloat overlay_y, gint overlay_width, gint overlay_height, gpointer user_data)
+
+

A callback function called whenever the system redraws an overlay. This can happen in two cases, axoverlay_redraw() is called or a new stream is started. In the first case the callback will execute in the thread that calls axoverlay_redraw() and in the second case it will execute in the thread that called axoverlay_init().

+
Parameters
+ + + + + + + + + + +
rendering_contextA pointer to the rendering context used by the backend. For the Cairo backend ithas the type 'cairo_t'.
idThe id of the overlay
streamInformation about the stream that is currently being rendered to, usually you do not need this information unless you want to rotate your overlay when the stream is rotated.
postypeThe position type.
overlay_xThe x coordinate of the overlay, may be changed
overlay_yThe y coordinate of the overlay, may be changed
overlay_widthThe width of the overlay, may be changed
overlay_heightThe height of the overlay, may be changed
user_dataOptional user data associated with this overlay
+
+
+ +
+
+ +

◆ axoverlay_stream_select_function

+ +
+
+ + + + +
typedef gboolean(* axoverlay_stream_select_function) (gint camera, gint width, gint height, gint rotation, gboolean is_mirrored, enum axoverlay_stream_type type)
+
+

Callback that can be used to select which streams to render overlays to. Note that YCBCR streams are always skipped since these are used for analytics.

+
Parameters
+ + + + + + +
cameraThe id of the camera that the stream is for.
widthThe width of the stream For further details see the comments for the stream_data struct.
heightThe height of the stream For further details see the comments for the stream_data struct.
rotationThe rotation of the stream.
is_mirroredTRUE if mirroring is enabled for the stream.
+
+
+
Returns
Returns TRUE if overlays should be rendered for the stream.
+ +
+
+

Enumeration Type Documentation

+ +

◆ axoverlay_anchor_point

+ +
+
+ + + + +
enum axoverlay_anchor_point
+
+

This enum contains constants for the different anchor points of the overlay. All custom coordinates are fr the anchor point of the overlay. So the the nomalized position 0x0 menas that the top-left of the overlay is placed at 0x0 if anchor point is set to AXOVERLAY_ANCHOR_TOP_LEFT.

+ + + +
Enumerator
AXOVERLAY_ANCHOR_TOP_LEFT 

Anchor point top-left

+
AXOVERLAY_ANCHOR_CENTER 

Anchor center

+
+ +
+
+ +

◆ axoverlay_backend_type

+ +
+
+ + + + +
enum axoverlay_backend_type
+
+

This enum contains the different backend types that are currrently supported by axoverlay.

+ + + + +
Enumerator
AXOVERLAY_CAIRO_IMAGE_BACKEND 

Cairo image backend

+
AXOVERLAY_OPENGLES_BACKEND 

OpenGL ES backend

+
AXOVERLAY_OPEN_BACKEND 

Open (raw pointer) backend

+
+ +
+
+ +

◆ axoverlay_colorspace

+ +
+
+ + + + +
enum axoverlay_colorspace
+
+

This enum contains constants for the different types of colorspaces the overlays can be created with. ARGB32 is the default, however the 1/4 bit palette formats may also be used. Note that when using the palette formats only the alpha channel matters (when rendering with cairo) and you also need to set the palette colors manually using dbus-commands.

+ + + + + +
Enumerator
AXOVERLAY_COLORSPACE_ARGB32 

ARGB32 color format

+
AXOVERLAY_COLORSPACE_4BIT_PALETTE 

4-bit palette color format

+
AXOVERLAY_COLORSPACE_1BIT_PALETTE 

1-bit palette color format

+
AXOVERLAY_COLORSPACE_UNDEFINED 

Undefined color format

+
+ +
+
+ +

◆ axoverlay_error_code

+ +
+
+ + + + +
enum axoverlay_error_code
+
+

Axoverlay error codes.

+ + + + + + + + +
Enumerator
AXOVERLAY_ERROR_INVALID_VALUE 

An invalid value was received from a callback function

+
AXOVERLAY_ERROR_INTERNAL 

Internal error

+
AXOVERLAY_ERROR_UNEXPECTED 

An unexpected error happened

+
AXOVERLAY_ERROR_GENERIC 

Currently not used

+
AXOVERLAY_ERROR_INVALID_ARGUMENT 

An invalid argument was passed to a function

+
AXOVERLAY_ERROR_SERVICE_UNAVAILABLE 

The overlay service was not available

+
AXOVERLAY_ERROR_BACKEND 

An error has occured in the axoverlay backend functionality

+
+ +
+
+ +

◆ axoverlay_position_type

+ +
+
+ + + + +
enum axoverlay_position_type
+
+

This enum contains constants for the different position types. For the first four types any x and y coordinates specified are ignored.

    +
  • If the type is set to AXOVERLAY_CUSTOM_NORMALIZED then x and y coordinates should be normalized between -1 and 1.
  • +
  • If the type is set to AXOVERLAY_CUSTOM_SOURCE then the overlay will be placed relative to the video source and not the video frame. If DPTZ is used the overlay will remain locked to the scene and not the video frame. Coordinates should be between 0 and max witdh and max height respectivly. In case the video is rotated the coordinates have be transformed to an unrotated coordinate system.
  • +
+ + + + + + + +
Enumerator
AXOVERLAY_TOP_LEFT 

Top-left position

+
AXOVERLAY_TOP_RIGHT 

Top-right position

+
AXOVERLAY_BOTTOM_LEFT 

Bottom-left position

+
AXOVERLAY_BOTTOM_RIGHT 

Bottom-right position

+
AXOVERLAY_CUSTOM_NORMALIZED 

Custom position normalized between [-1, 1]

+
AXOVERLAY_CUSTOM_SOURCE 

Custom position in absolute coordinates relative to the max resolution

+
+ +
+
+

Function Documentation

+ +

◆ axoverlay_cleanup()

+ +
+
+ + + + + + + + +
void axoverlay_cleanup (void )
+
+

Frees up allocated resources.

+ +
+
+ +

◆ axoverlay_create_overlay()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gint axoverlay_create_overlay (struct axoverlay_overlay_datadata,
gpointer user_data,
GError ** error 
)
+
+

Creates an overlay at the specified position. The overlay will be rendered once for each stream.

+

Note that this function does not cause the overlay to be drawn. To get the the overlay to show you have to call axoverlay_redraw().

+
Parameters
+ + + + +
dataDescription of the overlay to create.
user_dataPointer to optional user data associated with this overlay. The user data pointer will be passed to the adjust and render callbacks
errorLocation to store potential error at.
+
+
+
Returns
Returns the id of the overlay. It is used when removing overlays and can be used in the render function to differentiate overlays.
+ +
+
+ +

◆ axoverlay_destroy_overlay()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void axoverlay_destroy_overlay (gint id,
GError ** error 
)
+
+

Destroys the overlay with the given id if it exists.

+

Note that this functions will trigger a redraw of all overlays on all streams.

+
Parameters
+ + + +
idThe id of the overlay to destroy. This would be the id returned by the axoverlay_create_overlay() function.
errorLocation to store potential error at.
+
+
+ +
+
+ +

◆ axoverlay_get_max_resolution_height()

+ +
+
+ + + + + + + + + + + + + + + + + + +
gint axoverlay_get_max_resolution_height (gint camera,
GError ** error 
)
+
+

Reads the width of the camera's base resolution.

+
Parameters
+ + + +
cameraThe camera to get resolution for.
errorLocation to store potential error at.
+
+
+
Returns
Returns the width of the camera's base resolution.
+ +
+
+ +

◆ axoverlay_get_max_resolution_width()

+ +
+
+ + + + + + + + + + + + + + + + + + +
gint axoverlay_get_max_resolution_width (gint camera,
GError ** error 
)
+
+

Reads the width of the camera's base resolution.

+
Parameters
+ + + +
cameraThe camera to get resolution for.
errorLocation to store potential error at.
+
+
+
Returns
Returns the width of the camera's base resolution.
+ +
+
+ +

◆ axoverlay_get_number_of_palette_colors()

+ +
+
+ + + + + + + + +
gint axoverlay_get_number_of_palette_colors (GError ** error)
+
+

Get the number of palette colors.

+
Parameters
+ + +
errorLocation to store potential error at.
+
+
+
Returns
Returns the number of palette colors.
+ +
+
+ +

◆ axoverlay_get_palette_color()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void axoverlay_get_palette_color (gint index,
struct axoverlay_palette_colorcolor,
GError ** error 
)
+
+

Get the palette color with a specific index.

+
Parameters
+ + + + +
indexThe index of the color to get.
colorLocation to store the returned color at.
errorLocation to store potential error at.
+
+
+ +
+
+ +

◆ axoverlay_init()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void axoverlay_init (struct axoverlay_settingsaxoverlay_settings,
GError ** error 
)
+
+

Initializes the axoverlay system. This function must be called before any other axoverlay function. The thread that calls this function must have a glib main-loop.

+
Parameters
+ + + +
axoverlay_settingsA setting struct where general callbacks.
errorLocation to store potential error at.
+
+
+ +
+
+ +

◆ axoverlay_init_axoverlay_settings()

+ +
+
+ + + + + + + + +
void axoverlay_init_axoverlay_settings (struct axoverlay_settingsaxoverlay_settings)
+
+

Initializes an axoverlay_settings struct with default values;

+ +
+
+ +

◆ axoverlay_init_overlay_data()

+ +
+
+ + + + + + + + +
void axoverlay_init_overlay_data (struct axoverlay_overlay_datadata)
+
+

Initialize an overlay_data struct with default values.

+
Parameters
+ + +
dataThe struct to initialize.
+
+
+ +
+
+ +

◆ axoverlay_is_backend_supported()

+ +
+
+ + + + + + + + +
gboolean axoverlay_is_backend_supported (enum axoverlay_backend_type backend)
+
+

Enables for axoverlay user to check if the intended backend to be used is supported.

+ +
+
+ +

◆ axoverlay_redraw()

+ +
+
+ + + + + + + + +
void axoverlay_redraw (GError ** error)
+
+

Signals to the system that a redraw should be done. This will in turn call the render function provided in axoverlay_init().

+
Parameters
+ + +
errorLocation to store potential error at.
+
+
+ +
+
+ +

◆ axoverlay_reload_streams()

+ +
+
+ + + + + + + + +
void axoverlay_reload_streams (GError ** error)
+
+

Reload all stream information. All information about running streams will be cleared and loaded again. The select callback will be invoked for each stream.

+

Note that all overlays will disappear for a short while since they are destroyed and then created again.

+
Parameters
+ + +
errorLocation to store potential error at.
+
+
+ +
+
+ +

◆ axoverlay_set_overlay_position()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void axoverlay_set_overlay_position (gint id,
enum axoverlay_position_type postype,
gfloat x,
gfloat y,
GError ** error 
)
+
+

Updates the position of the overlay with the given id if it exists. Calling this function will not trigger the overlay to be redrawn. The new position will be applied the next time axoverlay_redraw() is called.

+
Parameters
+ + + + + + +
idThe id of the overlay.
postypeThe postion type. This parameter controls how the x and y parameters are interpreted. See documentation of position_type for details.
xThe x position of the top-left corner of the overlay.
yThe y position of the top-left corner of the overlay.
errorLocation to store potential error at.
+
+
+ +
+
+ +

◆ axoverlay_set_overlay_size()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void axoverlay_set_overlay_size (gint id,
gint width,
gint height,
GError ** error 
)
+
+

Updates the size of the overlay with the given id if it exists. Calling this function will not trigger the overlay to be redrawn. The new size will be applied the next time axoverlay_redraw() is called.

+
Parameters
+ + + + + +
idThe id of the overlay.
widthThe width of the overlay in pixels.
heightThe height of the overlay in pixels.
errorLocation to store potential error at.
+
+
+ +
+
+ +

◆ axoverlay_set_palette_color()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void axoverlay_set_palette_color (gint index,
struct axoverlay_palette_colorcolor,
GError ** error 
)
+
+

Set the palette color with a specific index.

+
Parameters
+ + + + +
indexThe index of the color to set.
colorThe color to set.
errorLocation to store potential error at.
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h.js new file mode 100644 index 0000000..ae93427 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h.js @@ -0,0 +1,72 @@ +var axoverlay_8h = +[ + [ "axoverlay_stream_data", "structaxoverlay__stream__data.html", "structaxoverlay__stream__data" ], + [ "axoverlay_overlay_data", "structaxoverlay__overlay__data.html", "structaxoverlay__overlay__data" ], + [ "axoverlay_palette_color", "structaxoverlay__palette__color.html", "structaxoverlay__palette__color" ], + [ "axoverlay_settings", "structaxoverlay__settings.html", "structaxoverlay__settings" ], + [ "AXOVERLAY_DEFAULT_CAMERA_ID", "axoverlay_8h.html#a1c41cacf9e4a49827169a0e42d032bf0", null ], + [ "AXOVERLAY_QUAD_CAMERA_ID", "axoverlay_8h.html#ae39d6ff9a957a1da895c494104161b4c", null ], + [ "AXOVERLAY_Z_PRIO_HIGH", "axoverlay_8h.html#a0479f50dd4fab27a3e2812e2f9c33ecf", null ], + [ "AXOVERLAY_Z_PRIO_LOW", "axoverlay_8h.html#a51fd42bb071d82e3973c86a10a8fe8ba", null ], + [ "AXOVERLAY_Z_PRIO_MEDIUM", "axoverlay_8h.html#ad484b29c95580bfacf74efbc7e4848d6", null ], + [ "AXOVERLAY_Z_PRIO_VERY_HIGH", "axoverlay_8h.html#a5fd4ab19e72943126ce728ba5eed79df", null ], + [ "axoverlay_adjustment_function", "axoverlay_8h.html#acd597540ddc493c361cf49d425527c9b", null ], + [ "axoverlay_render_function", "axoverlay_8h.html#af8cda33355d9b1345b4bc97836324a6e", null ], + [ "axoverlay_stream_select_function", "axoverlay_8h.html#a69680654ad920dd63825debf80db1835", null ], + [ "axoverlay_anchor_point", "axoverlay_8h.html#aa9f8d7e0652223e43d0d80b35fb1b017", [ + [ "AXOVERLAY_ANCHOR_TOP_LEFT", "axoverlay_8h.html#aa9f8d7e0652223e43d0d80b35fb1b017a8d67dcee72751fc14aa2d1bce7600efe", null ], + [ "AXOVERLAY_ANCHOR_CENTER", "axoverlay_8h.html#aa9f8d7e0652223e43d0d80b35fb1b017a364bf6dd30ca9c71e5e3cb711befd6fc", null ] + ] ], + [ "axoverlay_backend_type", "axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92", [ + [ "AXOVERLAY_CAIRO_IMAGE_BACKEND", "axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92ac6f3615a8c70061239d8de38f945ebba", null ], + [ "AXOVERLAY_OPENGLES_BACKEND", "axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92a77beab5289aa322ce600eaa329ad138c", null ], + [ "AXOVERLAY_OPEN_BACKEND", "axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92a383d3cc6dd17b2c89011ecddd26b2658", null ] + ] ], + [ "axoverlay_colorspace", "axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6", [ + [ "AXOVERLAY_COLORSPACE_ARGB32", "axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6a24f2d5da13ccea3f24c9285daa3d5806", null ], + [ "AXOVERLAY_COLORSPACE_4BIT_PALETTE", "axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6ae4321f158a3ce91d40e9dd2533011fe9", null ], + [ "AXOVERLAY_COLORSPACE_1BIT_PALETTE", "axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6a5c0fd09e24c9823121befe7f02c9d9a6", null ], + [ "AXOVERLAY_COLORSPACE_UNDEFINED", "axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6a11f43c73718917f1305588ce9bb9461a", null ] + ] ], + [ "axoverlay_error_code", "axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21", [ + [ "AXOVERLAY_ERROR_INVALID_VALUE", "axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a786851c992cfe9c3c515620ecbdc9943", null ], + [ "AXOVERLAY_ERROR_INTERNAL", "axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a64ae96167826e297a008237b342a1474", null ], + [ "AXOVERLAY_ERROR_UNEXPECTED", "axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21abd05ba5ae91988339ab9639fd9ceb624", null ], + [ "AXOVERLAY_ERROR_GENERIC", "axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a51424a18510a24d1ba8874a8b5075845", null ], + [ "AXOVERLAY_ERROR_INVALID_ARGUMENT", "axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a2c94311e80ff3f31edf89f0e402d8851", null ], + [ "AXOVERLAY_ERROR_SERVICE_UNAVAILABLE", "axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21ae8da7833aa75886b72719fda5c3355e2", null ], + [ "AXOVERLAY_ERROR_BACKEND", "axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21ab6162de2f1b5a2e34b181e67de5b97b5", null ] + ] ], + [ "axoverlay_position_type", "axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60c", [ + [ "AXOVERLAY_TOP_LEFT", "axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60ca9d75b57391dd41ef324a2f9a8eb3fd0f", null ], + [ "AXOVERLAY_TOP_RIGHT", "axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60ca4e2e8dff710303da53f9984e5d6d2d2d", null ], + [ "AXOVERLAY_BOTTOM_LEFT", "axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60ca5b422692c040dcfe7054ab4187907543", null ], + [ "AXOVERLAY_BOTTOM_RIGHT", "axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60cae7abd117533b3596c9857dfb6f035346", null ], + [ "AXOVERLAY_CUSTOM_NORMALIZED", "axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60cae68566e8f6ec53b269eb4aa7e9553af4", null ], + [ "AXOVERLAY_CUSTOM_SOURCE", "axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60cac88c862b0d51cf8b4edf7ec7945dec9a", null ] + ] ], + [ "axoverlay_stream_type", "axoverlay_8h.html#a79534991a1ffa36aa47493e703795f60", [ + [ "AXOVERLAY_STREAM_JPEG", "axoverlay_8h.html#a79534991a1ffa36aa47493e703795f60a8a8d4f5e31404d48fc1cbd0b8670c966", null ], + [ "AXOVERLAY_STREAM_H264", "axoverlay_8h.html#a79534991a1ffa36aa47493e703795f60a6a6b9b1ce8a9709b91a1bd177b42b4ac", null ], + [ "AXOVERLAY_STREAM_H265", "axoverlay_8h.html#a79534991a1ffa36aa47493e703795f60aeca66fbd45e07d9e0b72428483c05ea0", null ], + [ "AXOVERLAY_STREAM_YCBCR", "axoverlay_8h.html#a79534991a1ffa36aa47493e703795f60afcb5c81e97977cc40382446a21eb2aa3", null ], + [ "AXOVERLAY_STREAM_VOUT", "axoverlay_8h.html#a79534991a1ffa36aa47493e703795f60a1fb9c962db18f76ff0c572a8d117b58d", null ], + [ "AXOVERLAY_STREAM_OTHER", "axoverlay_8h.html#a79534991a1ffa36aa47493e703795f60a6337608f3d6a7faea5ad26ca5b6152a3", null ] + ] ], + [ "axoverlay_cleanup", "axoverlay_8h.html#a3510c0ea4e04846864603505b3994cf5", null ], + [ "axoverlay_create_overlay", "axoverlay_8h.html#a95a791a9f63d0c5bad2d403b0d8c7ba3", null ], + [ "axoverlay_destroy_overlay", "axoverlay_8h.html#aef2581df55e0b9adef9fcb795336c902", null ], + [ "axoverlay_get_max_resolution_height", "axoverlay_8h.html#aba18305ff424cfe2dd8c88974da6c700", null ], + [ "axoverlay_get_max_resolution_width", "axoverlay_8h.html#a2081f1e63d1ccefe40e36b7328d07b05", null ], + [ "axoverlay_get_number_of_palette_colors", "axoverlay_8h.html#a9039e46539a8ed3e23754e9261b0e793", null ], + [ "axoverlay_get_palette_color", "axoverlay_8h.html#a99b3dcd1441c0c3b28aab30680146dbf", null ], + [ "axoverlay_init", "axoverlay_8h.html#abcee514e8d556934e857fd594a471865", null ], + [ "axoverlay_init_axoverlay_settings", "axoverlay_8h.html#a3564acf79f48af97e2414127696f82d7", null ], + [ "axoverlay_init_overlay_data", "axoverlay_8h.html#a2d6236ddb190f1c5f30035c238f78b6b", null ], + [ "axoverlay_is_backend_supported", "axoverlay_8h.html#ad150141c6187fb915ea263c9824e2114", null ], + [ "axoverlay_redraw", "axoverlay_8h.html#ac73bea732951f6bdcead8ee248b35b0a", null ], + [ "axoverlay_reload_streams", "axoverlay_8h.html#a05e917b3d92ca3b5e38dd074aeb7d80c", null ], + [ "axoverlay_set_overlay_position", "axoverlay_8h.html#ade3ed3d327deba171eb679416a28af6e", null ], + [ "axoverlay_set_overlay_size", "axoverlay_8h.html#aadef178b4a74eb601c095fcb9a0875b3", null ], + [ "axoverlay_set_palette_color", "axoverlay_8h.html#ac95c0f4c11509dfae12707aff79eedb8", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h__incl.dot b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h__incl.dot new file mode 100644 index 0000000..2b8b2c0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h__incl.dot @@ -0,0 +1,8 @@ +digraph "src/axoverlay.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="src/axoverlay.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node0 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="glib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h__incl.md5 b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h__incl.md5 new file mode 100644 index 0000000..dc4454a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h__incl.md5 @@ -0,0 +1 @@ +0c919c87ea3a0b3eb2b9909d8b26b08b \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h_source.html new file mode 100644 index 0000000..e020e00 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlay_8h_source.html @@ -0,0 +1,169 @@ + + + + + + + +Axoverlay Library: src/axoverlay.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
axoverlay.h
+
+
+Go to the documentation of this file.
1 
30 #ifndef AXOVERLAY_H
31 #define AXOVERLAY_H
32 
33 #include <glib.h>
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
54 };
55 
68 };
69 
91 };
92 
101 };
102 
113 };
114 
116 #define AXOVERLAY_QUAD_CAMERA_ID 0
117 
119 #define AXOVERLAY_DEFAULT_CAMERA_ID 1
120 
122 #define AXOVERLAY_Z_PRIO_LOW 0
123 
125 #define AXOVERLAY_Z_PRIO_MEDIUM 1000
126 
128 #define AXOVERLAY_Z_PRIO_HIGH 2000
129 
131 #define AXOVERLAY_Z_PRIO_VERY_HIGH 3000
132 
133 enum axoverlay_stream_type {
134  AXOVERLAY_STREAM_JPEG,
135  AXOVERLAY_STREAM_H264,
136  AXOVERLAY_STREAM_H265,
137  AXOVERLAY_STREAM_YCBCR,
138  AXOVERLAY_STREAM_VOUT,
139  AXOVERLAY_STREAM_OTHER
140 };
141 
148  gint id;
149  gint camera;
150  gint width;
153  gint height;
156  gint rotation;
157  gboolean is_mirrored;
159  enum axoverlay_stream_type type;
160 };
161 
164  enum axoverlay_anchor_point anchor_point;
167  enum axoverlay_position_type postype;
172  gfloat x;
174  gfloat y;
176  gint width;
180  gint height;
184  gint z_priority;
188  enum axoverlay_colorspace colorspace;
197  gboolean scale_to_stream;
203 };
204 
207  guchar red;
208  guchar green;
209  guchar blue;
210  guchar alpha;
211  gboolean pixelate;
213 };
214 
229 typedef gboolean (*axoverlay_stream_select_function)(gint camera, gint width,
230  gint height, gint rotation,
231  gboolean is_mirrored,
232  enum axoverlay_stream_type type);
233 
256 typedef void (*axoverlay_adjustment_function)(gint id,
257  struct axoverlay_stream_data *stream,
258  enum axoverlay_position_type *postype,
259  gfloat *overlay_x, gfloat *overlay_y,
260  gint *overlay_width,
261  gint *overlay_height,
262  gpointer user_data);
263 
286 typedef void (*axoverlay_render_function)(gpointer rendering_context, gint id,
287  struct axoverlay_stream_data *stream,
288  enum axoverlay_position_type postype,
289  gfloat overlay_x, gfloat overlay_y,
290  gint overlay_width, gint overlay_height,
291  gpointer user_data);
292 
321  enum axoverlay_backend_type backend;
324 };
325 
331 
341  GError **error);
342 
346 void axoverlay_cleanup(void);
347 
358 void axoverlay_reload_streams(GError **error);
359 
366 void axoverlay_redraw(GError **error);
367 
374 
391  gpointer user_data, GError **error);
392 
403 void axoverlay_destroy_overlay(gint id, GError **error);
404 
418 void axoverlay_set_overlay_position(gint id,
419  enum axoverlay_position_type postype,
420  gfloat x, gfloat y, GError **error);
421 
432 void axoverlay_set_overlay_size(gint id, gint width, gint height,
433  GError **error);
434 
442 gint axoverlay_get_max_resolution_width(gint camera, GError **error);
443 
451 gint axoverlay_get_max_resolution_height(gint camera, GError **error);
452 
458 
465 gint axoverlay_get_number_of_palette_colors(GError **error);
466 
474 void axoverlay_get_palette_color(gint index,
475  struct axoverlay_palette_color *color,
476  GError **error);
477 
485 void axoverlay_set_palette_color(gint index,
486  struct axoverlay_palette_color *color,
487  GError **error);
488 
489 #ifdef __cplusplus
490 }
491 #endif
492 
493 #endif
gint axoverlay_get_number_of_palette_colors(GError **error)
+
void axoverlay_init_overlay_data(struct axoverlay_overlay_data *data)
+
gint z_priority
Definition: axoverlay.h:184
+
void(* axoverlay_render_function)(gpointer rendering_context, gint id, struct axoverlay_stream_data *stream, enum axoverlay_position_type postype, gfloat overlay_x, gfloat overlay_y, gint overlay_width, gint overlay_height, gpointer user_data)
Definition: axoverlay.h:286
+
Definition: axoverlay.h:64
+
Definition: axoverlay.h:67
+
guchar red
Definition: axoverlay.h:207
+
gboolean(* axoverlay_stream_select_function)(gint camera, gint width, gint height, gint rotation, gboolean is_mirrored, enum axoverlay_stream_type type)
Definition: axoverlay.h:229
+
gboolean is_mirrored
Definition: axoverlay.h:157
+
Definition: axoverlay.h:111
+
axoverlay_position_type
Definition: axoverlay.h:82
+
Definition: axoverlay.h:65
+
Definition: axoverlay.h:43
+
gint id
Definition: axoverlay.h:148
+
guchar green
Definition: axoverlay.h:208
+
void axoverlay_destroy_overlay(gint id, GError **error)
+
void axoverlay_cleanup(void)
+
Definition: axoverlay.h:86
+
Definition: axoverlay.h:84
+
Definition: axoverlay.h:206
+
void axoverlay_reload_streams(GError **error)
+
Definition: axoverlay.h:112
+
Definition: axoverlay.h:85
+
axoverlay_adjustment_function adjustment_callback
Definition: axoverlay.h:305
+
void axoverlay_set_overlay_size(gint id, gint width, gint height, GError **error)
+
Definition: axoverlay.h:163
+
void axoverlay_init(struct axoverlay_settings *axoverlay_settings, GError **error)
+
axoverlay_anchor_point
Definition: axoverlay.h:110
+
Definition: axoverlay.h:48
+
axoverlay_backend_type
Definition: axoverlay.h:97
+
Definition: axoverlay.h:50
+
gboolean axoverlay_is_backend_supported(enum axoverlay_backend_type backend)
+
void axoverlay_set_overlay_position(gint id, enum axoverlay_position_type postype, gfloat x, gfloat y, GError **error)
+
Definition: axoverlay.h:100
+
void(* axoverlay_adjustment_function)(gint id, struct axoverlay_stream_data *stream, enum axoverlay_position_type *postype, gfloat *overlay_x, gfloat *overlay_y, gint *overlay_width, gint *overlay_height, gpointer user_data)
Definition: axoverlay.h:256
+
Definition: axoverlay.h:99
+
Definition: axoverlay.h:87
+
gint height
Definition: axoverlay.h:153
+
gfloat y
Definition: axoverlay.h:174
+
gfloat x
Definition: axoverlay.h:172
+
gint axoverlay_get_max_resolution_width(gint camera, GError **error)
+
Definition: axoverlay.h:297
+
gint height
Definition: axoverlay.h:180
+
Definition: axoverlay.h:147
+
gint width
Definition: axoverlay.h:176
+
void axoverlay_get_palette_color(gint index, struct axoverlay_palette_color *color, GError **error)
+
gboolean pixelate
Definition: axoverlay.h:211
+
axoverlay_error_code
Definition: axoverlay.h:42
+
gint axoverlay_create_overlay(struct axoverlay_overlay_data *data, gpointer user_data, GError **error)
+
Definition: axoverlay.h:47
+
Definition: axoverlay.h:83
+
Definition: axoverlay.h:66
+
void axoverlay_set_palette_color(gint index, struct axoverlay_palette_color *color, GError **error)
+
Definition: axoverlay.h:52
+
void axoverlay_init_axoverlay_settings(struct axoverlay_settings *axoverlay_settings)
+
gint axoverlay_get_max_resolution_height(gint camera, GError **error)
+
Definition: axoverlay.h:89
+
Definition: axoverlay.h:98
+
gboolean scale_to_stream
Definition: axoverlay.h:197
+
axoverlay_stream_select_function select_callback
Definition: axoverlay.h:314
+
Definition: axoverlay.h:45
+
guchar blue
Definition: axoverlay.h:209
+
guchar alpha
Definition: axoverlay.h:210
+
gint width
Definition: axoverlay.h:150
+
gint rotation
Definition: axoverlay.h:156
+
void axoverlay_redraw(GError **error)
+
axoverlay_colorspace
Definition: axoverlay.h:63
+
gint camera
Definition: axoverlay.h:149
+
Definition: axoverlay.h:46
+
axoverlay_render_function render_callback
Definition: axoverlay.h:298
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlaypage.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlaypage.html new file mode 100644 index 0000000..301e830 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/axoverlaypage.html @@ -0,0 +1,100 @@ + + + + + + + +Axoverlay Library: Axoverlay C API + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Axoverlay C API
+
+
+

This manual documents the Axoverlay C API.

+

The purpose of this library is to make it easier to create and render custom overlays.

+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/bc_s.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1509827fe5636dc2b11c86d5efb48dd040b5d2 GIT binary patch literal 650 zcmV;50(Jd~P)CnOkW$x^-3TQ^zug z9A~%GRj9wKbn?R-$9>U_!8Ybco96b8N2pcHy(J5gh!zt>F^hyrk5FA&=q1EO(U(Wk zJ`OGRKZ3hH>Uvb>C>=+YGQF9;1^^7)9!{fD3@2M4OK;`?fI)x|?mMb*gpf02vGNbW zT~B3MiTnM5I;oV3008~_qR;2QuPEv_n!Yg#0MNf5g~Q=v*ysu=FU$e}1BC$D)T4u* zM@VV@B>*sZ5R{}$Pzr6>O*27W&&>b;gHM`fgi!vr)ofJBd~v$>@|+<0rc^cZ6ED3< z($UdGFX2fjBnQ!cS*PW!dxmKr9CR)R2*+Iz1OeLZcCPcBrczfsgu8)&bOinR!Lk~; zt{-M+@}2yvrW*lNxsKhhb{#d6yyC|5X#E6^cHg$l3C5EzraiU1qN*p6l(VhoGv>!h zCN3NJ*(Rlstl@dA)!N%<2#MiK_E)H!3HEvS)PKZa8DP5Y1p3AV;mdKI;Vst08RHZO#lD@ literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/classes.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/classes.html new file mode 100644 index 0000000..ef0c3e3 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/classes.html @@ -0,0 +1,107 @@ + + + + + + + +Axoverlay Library: Data Structure Index + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Data Structure Index
+
+ +
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/closed.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..8be2d7b0ec3d8e504d722bd3249dfef20c145ab0 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vo}Mm_Ar*{o=N{x`P~>27=QiG_ z^DFMyF_RfFOfDOn&c5qr+{VH%`Qm;~iF5{eezgM;%uBb~+Q)t3ez + + + + + + +Axoverlay Library: src Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+ + + + + +

+Files

file  axoverlay.h [code]
 Overlay helper library for creating and rendering custom overlays.
 
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js new file mode 100644 index 0000000..9332709 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -0,0 +1,4 @@ +var dir_68267d1309a1af8e8297ef4c3efbcdba = +[ + [ "axoverlay.h", "axoverlay_8h.html", "axoverlay_8h" ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/doc.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..a93ee1079085b4d72132604f8d3d4ed539340f48 GIT binary patch literal 705 zcmV;y0zUnTP)BqF4!n7C!EEELfL&1o$&=?o~2orby3=>_{g)#mqSL(vJH73NkAOfYO zv<3SywbT0ETQFj0aA8=u>dAcc_C5E!=RLh!qu=iXTo_D%i^PQ!L;(IorBd$qdOdu< ztDk#*56^4U@jPPjI94P=JQgSAI5^IT0T2eOP$&SLLAkVFNTwX3(U?X=3Pz$)xkhQX zo7lFElTORJBBp5-Y&-D+AP9j9Ow+(H27o@6Wy!sXdUBjJ$HzxZOy*!5ihH}Vg1+l! z0+ob%@H>fuX_}%!6iI99wW?l|N~MKpipoKWX0s7Ej-do<$Ev8b;N;%WN}|%H^vEb5 zKfL4p+c$juvPGxkDFT2Y1bT2(uN6|_f!cYi)zk!0@xW`hML`TlcCK2LNF=rCtyTk5 z*0`DMkQad-3|cf0cTnC(g)uihOR>0v-|b>cVat+&?iigPo?hqsKEM#pX_4x^$?V($ za)x_tma2vwj=R0>qViK!gRD{I`mwaLQbGTE_9EUnz& z_U64`UI7H*90h~0?e1(#kjgTG%7f~V2RhLJA^6J_4Ln$q-OuFb0zEiQJU|cv6{x9D zKT>Cr%7Y5k$v0YodLNU&jF^P(bTeTGS17^jm(Te0d5dHs0T7C&7=L}`8jl`70T@Cc nL4J1Lc>4Smz(3>vKQey;u(G`oh?v!A00000NkvXXu0mjfF@8vB literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/doxygen.css b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/doxygen.css new file mode 100644 index 0000000..db3f76e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #C8C7C2; + color: #8A877C; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #959288; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #A29F96; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #D2D1CD; + color: #ffffff; + border: 1px double #C8C6C1; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FDFDFD; + border: 1px solid #E5E4E2; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #F6F6F5; + font-weight: bold; + border: 1px solid #E5E4E2; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #F6F6F5; + border: 1px solid #E5E4E2; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #F7F7F6; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #FBFBFB; + border-left: 2px solid #D2D1CD; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #D6D5D1; +} + +th.dirtab { + background: #F6F6F5; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #A6A49B; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FCFCFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #A29F96; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #F2F2F1; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #A29F96; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 0px 6px 0px; + color: #6E6B62; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #F1F1EF; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 10px 2px 10px; + background-color: #FDFDFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #BEBCB6; + border-top:1px solid #AEABA3; + border-left:1px solid #AEABA3; + border-right:1px solid #E5E4E2; + border-bottom:1px solid #E5E4E2; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #D2D1CD; + border-bottom: 1px solid #D2D1CD; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #FBFBFB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #959288; +} + +.arrow { + color: #D2D1CD; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #BEBCB6; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #78756B; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #D8D7D3; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #D8D7D3; + border-bottom: 1px solid #D8D7D3; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #D8D7D3; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #F2F2F1; + font-size: 90%; + color: #6E6B62; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #D8D7D3; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#CAC8C3; + border:solid 1px #E4E3E1; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#8B887D; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #757168; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#B9B6B0; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#8B887D; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FCFCFC; + margin: 0px; + border-bottom: 1px solid #E5E4E2; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #AEABA3; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #CDCBC6; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#878378; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #FAFAFA; + border: 1px solid #EEEDEC; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #A29F96; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/doxygen.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..69a921c279e71363b64e6868642ba060f2060323 GIT binary patch literal 3811 zcmV<94jl1`P)W+@m)6{PS0tMorm{%*R%Jx-gSG|?_F#C zYgJ!g4*;zM0FNL&1^}%D0FNeFO`RM901rcY0P39s0IdW7Kc7-}y$=A*k~IK41SO6d zE8gT9sn9qb9?}3B>;FZSy=%<^VAeTjzk6`z4%@9?*L>7pTxR4 zA`g*uo^7P0?oP3gV?W*i)cYjK)mg|%aY&2pNw%BRYsxmA=QI%~+h$p|nc0Nx^Q6Z- z0MHQW2Z=uTuF_&3d{>RHW@5Tdaz)`&Uga3r7W-viDKyuGoHqr~N+%~rbHGb~K#!h% z1V-(p8vSRV9&8by$cV6cJgb6(gFReayQ5Plr-mr5U&Y0mDh|*@pUK<*n*KJ)I+CAS zFR#7;lwDF%%yPaYb4s+C=C&w`2K$V_ z{rgP=#C)S+@=DeXn>ro#_WV$k#rpmFdt=y$=RDGPZd*;kc1li3TTVJTqxEC;u5QYM zJ^fW7HgDQ!B%4ueGblL7IQAueTn+2)-8)zjyAUr2PeQNWUNZmCXMaap+Aag>B`_8N z0l&w{=U$Z0OV5?y@Zlo{@?A!WIyfzImPTKSk?pJR&UQ=7DuYD3@;zUfFcnX9c?tkD z#CCWM^&1tmWBZ?j$lqAHD}&_C;7kdhDa+PWpNIF5VMZTc|3-1_N=-5nNJRuvs@2rV zAwpYYgqJLR1NIKu1Oq@*G(GZ<{L_wTT#p{z_eL*RrnwvdSP~~7al>0EFRz-&-{f=e z@;Bl&dYK=j;qM1Oi6@(8OPjk=w<0g^X#Dt~AoJLlUY7Y+E`N)drRJh-+u!x0xUyqj zU#S89;Kv8BKQl9m{thri8jU_fM*u*Jbm;R>ke-$nLv|C$Za9IH6!E7ynwZ%4ojbRo z_Sf(z&R~7~>P*rNBVGN75q{ZI!e;S6$nfHef#_&wPZe>$A(?mX;CTLF zR99EP&CL`3qsIV1Q)HYF8i6)#Y-C+_kay@);s1z{zm;Db%dqUKxE02vjR(drw=zo!M1G!cswGA7eq0MGpb(WSIY5a%2gN2kEAEvhwh=HDsq%6sANt2Mh`oC z2U+NogIUNrkQGmVxkR(y*}4OOvS-hj#y?(k=@OH9h0MQq_b%RCxdhj)-4N=zb7zO7 z*yU?rV{0qRB*d>kMMbq2**s5n5+kNX8aZ)l8*2G~Uil8oV_)M$OeCFZ(n()nG7B?A zT8DH03w!tMi5WBI`8aNY@?0oAiwz0!JQGe%3=NI*AEi9B3pJHk{ni_d9=9-^<+)^& zhd0?xZ_cjB@|Zb$j-g+F5f80?(eU9zvnNea#_7%PZyY)S?ICb=Qx%`^MGXUzX^YrYcIjgR!V5gZ|lD4Pvcht^gxQ$7RTig5Zy%$6B!eAvi(?iIF4;bK; z6ghn!0BA^*jVD?8v4}dg>o#n5v{hBwir7UkEsBA<6EKew;mjS$ykwcan`^@$=d~wo zJB}SY9!R!x9uy}h*-{q(S|U{*6PnAh2vBx&u?YYT9qN-kagxxogmv*k71qVC)&TVO zrmX;!J#Vfs@M1zjLgI$|E0;QQ_)}zLWWs=G^qXDRQPFd+$!_!^^WJce912y_|F33qdzL)yk$?0)nc1XPD z;%rLyLa=I*->+YJbEbeB4bY~3XY!$B$*sKA4mT88fVNG z`Z@qu(nnbt`26$Sc#_w&Inu3NwI;!_DZP6%yOu67)sYUjH{mND*rT%Yf)_u6 z=JF&}&;pZL-<9T^WsVpip&PuuBF@9k&R!NcdgOEL&&(|1|2{s0bRiR_0#NoM(_CRT zQy{eq&9ShtQIeFp;~f+ieXC!L zSOfLQ6Sz9Vq@ z)JaLd$kI3a-MC?$43K3GGTz&X?YFppNI##cCvOOyHLuO1fOt9D|M?z|lWO%mM%nef;4E$jv<*MzWczn2(wlFVi)3 z9{{kVd%3{%SG0KtmM^eH^}pd;wV`b zyTU^)$MG(YeXWk1X-_K#L^l zGeCm}>#~DGrpRZtmuj#naia{--01mw=dMZx?aSDO6DNvffOxHZ;e|0~KkBnKHa414 z{M&&H%$O|zBCn-O7775ZTC<-2hdVgfC5?MI7*9Xb4*(j`*)v~Lu={Z1#?6`Zd4S|= zXGP72x~&!*JA|yPza^8+XtFua>zQ5z;B)}WPTRQ+C1*;sevsY>AOR%TZqDX`6ezFj z*RCQj?mP(gI=LH&9~M9P*M3N;+@GB-vIy`5!uwyPbXDA8a)aCXpW>R27snW0Lad+LpuGR1OUGxn)AaC zKQ5ddHLrVTr^jXH=~IRH=)(_TYiq+Vauku=SAP8Q_S*pg0ka1U@oNJB4!^>3Z0MP8J%5vl#%7wM{Z?b>W2Wuy%Cp4|`+Ep6v)#q{g^eNo<{$`SmO`CE$ znnmD@`cHuaK(pl**SlBGUsa1cS6Y^S_wGH8GFkI&^41n8B1*+qSmo*r5YD+I7H{D_70zg2+TRw1Wu%{sTn!6Iz@E z5D)d90Pz2SsH7U^F97^Z;{Ng^kvjnVA5j?rlw+N`>wW&n5eWcV2>>1udJF(s2>>2V Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/dynsections.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +Axoverlay Library: File List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 12]
+ + +
  src
 axoverlay.hOverlay helper library for creating and rendering custom overlays
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/files.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/files.js new file mode 100644 index 0000000..04b0a8e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/files.js @@ -0,0 +1,4 @@ +var files = +[ + [ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/folderclosed.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..32f346dfdd52aca9b97ecdbd5a7d2eb71d5431e4 GIT binary patch literal 583 zcmV-N0=WH&P)!A1!UctQj_=)>@jY|znHjfCN(lg4g8=~B#MTLR0HBD`=$D*cUjfKktKEg) z8!!NP3|10Q@P^$=-x*_=-b{!903HQa6#2*ZQ+fC2H|%CR4Nh}zZ>RCQdZc>D=0DU| zt3JWOi&xq}WjGuH$lA~Iv*Gjom$1}it6GD#SB?BuvjbaYMZ{$5^#6>T;|sh#e5Z+A zA~^Z_MS6aq{W$Zf-jrFqvyv=g0t1t)ks^4%iQu#BbiFhH85J+JBq$L8fDVS6>r1?O z`#~ElX+UCy;r&vBa-fJf(LXx`UwR3ciwH zJ`c0iJg`Y39dd(4fpE<^kV>p^uCjWdhqsy9)psN>_#5Y}vhFz&*duJul#n z=X1yHDfqnW_`KtI+);4dfV*m(;PnRF5Bj{_ak*)lpVnqzS+$P<@UQUy|D$c4;4i2n V{UzU_>T>`9002ovPDHLkV1jg!4EO*5 literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/folderopen.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..3d86075e9e8354717712986c13057ce1eae0c6e4 GIT binary patch literal 586 zcmV-Q0=4~#P)FY*etmehFu1r||vFCjhVtZM985et1t$fBrzan(Xs)GU{y3 z)5q-O^yPX32iI@ploX0Q4JUBD7CZ*uXQRKFfZHv$=fiOs98Zk45yD;(p7SepXcj>RPj4q+%5{DR(bf$cF2}Qts zKE>_h2jv7Oub$Cbt)A9EcF1x^rBe}omd5#fhU2>r%L!h;d`c~=mcP7YtLE~<3GUo` zRNkg3^Evh^u>=69pls9e=o^6S;b{_uOkAmKK2}T<0CFfO*z5I4|L`VZzeuuw&?mue zj|4kC((de#_I5zFu6D>)yF<3wyc_I^eSW8R?T~c3y97Y)DJW>Qt~>^SzlHz*XaG=( Y-&=9_qAhf1ng9R*07*qoM6N<$g53QY82|tP literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/functions.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/functions.html new file mode 100644 index 0000000..efd04db --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/functions.html @@ -0,0 +1,164 @@ + + + + + + + +Axoverlay Library: Data Fields + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/functions_vars.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/functions_vars.html new file mode 100644 index 0000000..9fafb31 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/functions_vars.html @@ -0,0 +1,164 @@ + + + + + + + +Axoverlay Library: Data Fields - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals.html new file mode 100644 index 0000000..8be1d9c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals.html @@ -0,0 +1,254 @@ + + + + + + + +Axoverlay Library: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- a -

+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_defs.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_defs.html new file mode 100644 index 0000000..e43766f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_defs.html @@ -0,0 +1,114 @@ + + + + + + + +Axoverlay Library: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_enum.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_enum.html new file mode 100644 index 0000000..129314d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_enum.html @@ -0,0 +1,111 @@ + + + + + + + +Axoverlay Library: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_eval.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_eval.html new file mode 100644 index 0000000..823b1c7 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_eval.html @@ -0,0 +1,162 @@ + + + + + + + +Axoverlay Library: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_func.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_func.html new file mode 100644 index 0000000..54ad439 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_func.html @@ -0,0 +1,144 @@ + + + + + + + +Axoverlay Library: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_type.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_type.html new file mode 100644 index 0000000..9c2be17 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/globals_type.html @@ -0,0 +1,105 @@ + + + + + + + +Axoverlay Library: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.dot b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.dot new file mode 100644 index 0000000..789df56 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.dot @@ -0,0 +1,22 @@ +digraph "Graph Legend" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node9 [shape="box",label="Inherited",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",fillcolor="grey75",style="filled" fontcolor="black"]; + Node10 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [shape="box",label="PublicBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"]; + Node11 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [shape="box",label="Truncated",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"]; + Node13 -> Node9 [dir="back",color="darkgreen",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [shape="box",label="ProtectedBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"]; + Node14 -> Node9 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [shape="box",label="PrivateBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"]; + Node15 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [shape="box",label="Undocumented",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="grey75"]; + Node16 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [shape="box",label="Templ< int >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node17 -> Node16 [dir="back",color="orange",fontsize="10",style="dashed",label="< int >",fontname="Helvetica"]; + Node17 [shape="box",label="Templ< T >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node18 -> Node9 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label="m_usedClass",fontname="Helvetica"]; + Node18 [shape="box",label="Used",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.html new file mode 100644 index 0000000..42106ff --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.html @@ -0,0 +1,127 @@ + + + + + + + +Axoverlay Library: Graph Legend + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

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:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.md5 b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/index.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/index.html new file mode 100644 index 0000000..8774622 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/index.html @@ -0,0 +1,100 @@ + + + + + + + +Axoverlay Library: Documentation + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Documentation
+
+
+

This manual documents the C API for the Axoverlay library.

+

Axoverlay C API contains functions to manage overlays

+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/jquery.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;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=$(' + + +
+
+
Related Pages
+
+
+
Here is a list of all related documentation pages:
+
+ +
 Axoverlay C API
+ + + + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/resize.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/resize.js new file mode 100644 index 0000000..56e4a02 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/resize.js @@ -0,0 +1,114 @@ +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + + function readCookie(cookie) + { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; + } + + function writeCookie(cookie, val, expiration) + { + if (val==undefined) return; + if (expiration == null) { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth-barWidth, null); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px"}); + var width=$(window).width(); + if (width!=collapsedWidth) { + if (width=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).load(resizeHeight); +} + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_0.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_0.html new file mode 100644 index 0000000..f25360b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_0.js new file mode 100644 index 0000000..e3859e5 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_0.js @@ -0,0 +1,64 @@ +var searchData= +[ + ['adjustment_5fcallback',['adjustment_callback',['../structaxoverlay__settings.html#a7046259754ff077dc8fd06e696f3f4f8',1,'axoverlay_settings']]], + ['alpha',['alpha',['../structaxoverlay__palette__color.html#aa1657a8276538422d872b40c7f87a69e',1,'axoverlay_palette_color']]], + ['anchor_5fpoint',['anchor_point',['../structaxoverlay__overlay__data.html#a0b35d31c6fb144ae4696c52e5be668d1',1,'axoverlay_overlay_data']]], + ['axoverlay_2eh',['axoverlay.h',['../axoverlay_8h.html',1,'']]], + ['axoverlay_5fadjustment_5ffunction',['axoverlay_adjustment_function',['../axoverlay_8h.html#acd597540ddc493c361cf49d425527c9b',1,'axoverlay.h']]], + ['axoverlay_5fanchor_5fcenter',['AXOVERLAY_ANCHOR_CENTER',['../axoverlay_8h.html#aa9f8d7e0652223e43d0d80b35fb1b017a364bf6dd30ca9c71e5e3cb711befd6fc',1,'axoverlay.h']]], + ['axoverlay_5fanchor_5fpoint',['axoverlay_anchor_point',['../axoverlay_8h.html#aa9f8d7e0652223e43d0d80b35fb1b017',1,'axoverlay.h']]], + ['axoverlay_5fanchor_5ftop_5fleft',['AXOVERLAY_ANCHOR_TOP_LEFT',['../axoverlay_8h.html#aa9f8d7e0652223e43d0d80b35fb1b017a8d67dcee72751fc14aa2d1bce7600efe',1,'axoverlay.h']]], + ['axoverlay_5fbackend_5ftype',['axoverlay_backend_type',['../axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92',1,'axoverlay.h']]], + ['axoverlay_5fbottom_5fleft',['AXOVERLAY_BOTTOM_LEFT',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60ca5b422692c040dcfe7054ab4187907543',1,'axoverlay.h']]], + ['axoverlay_5fbottom_5fright',['AXOVERLAY_BOTTOM_RIGHT',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60cae7abd117533b3596c9857dfb6f035346',1,'axoverlay.h']]], + ['axoverlay_5fcairo_5fimage_5fbackend',['AXOVERLAY_CAIRO_IMAGE_BACKEND',['../axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92ac6f3615a8c70061239d8de38f945ebba',1,'axoverlay.h']]], + ['axoverlay_5fcleanup',['axoverlay_cleanup',['../axoverlay_8h.html#a3510c0ea4e04846864603505b3994cf5',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace',['axoverlay_colorspace',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace_5f1bit_5fpalette',['AXOVERLAY_COLORSPACE_1BIT_PALETTE',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6a5c0fd09e24c9823121befe7f02c9d9a6',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace_5f4bit_5fpalette',['AXOVERLAY_COLORSPACE_4BIT_PALETTE',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6ae4321f158a3ce91d40e9dd2533011fe9',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace_5fargb32',['AXOVERLAY_COLORSPACE_ARGB32',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6a24f2d5da13ccea3f24c9285daa3d5806',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace_5fundefined',['AXOVERLAY_COLORSPACE_UNDEFINED',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6a11f43c73718917f1305588ce9bb9461a',1,'axoverlay.h']]], + ['axoverlay_5fcreate_5foverlay',['axoverlay_create_overlay',['../axoverlay_8h.html#a95a791a9f63d0c5bad2d403b0d8c7ba3',1,'axoverlay.h']]], + ['axoverlay_5fcustom_5fnormalized',['AXOVERLAY_CUSTOM_NORMALIZED',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60cae68566e8f6ec53b269eb4aa7e9553af4',1,'axoverlay.h']]], + ['axoverlay_5fcustom_5fsource',['AXOVERLAY_CUSTOM_SOURCE',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60cac88c862b0d51cf8b4edf7ec7945dec9a',1,'axoverlay.h']]], + ['axoverlay_5fdefault_5fcamera_5fid',['AXOVERLAY_DEFAULT_CAMERA_ID',['../axoverlay_8h.html#a1c41cacf9e4a49827169a0e42d032bf0',1,'axoverlay.h']]], + ['axoverlay_5fdestroy_5foverlay',['axoverlay_destroy_overlay',['../axoverlay_8h.html#aef2581df55e0b9adef9fcb795336c902',1,'axoverlay.h']]], + ['axoverlay_5ferror_5fbackend',['AXOVERLAY_ERROR_BACKEND',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21ab6162de2f1b5a2e34b181e67de5b97b5',1,'axoverlay.h']]], + ['axoverlay_5ferror_5fcode',['axoverlay_error_code',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21',1,'axoverlay.h']]], + ['axoverlay_5ferror_5fgeneric',['AXOVERLAY_ERROR_GENERIC',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a51424a18510a24d1ba8874a8b5075845',1,'axoverlay.h']]], + ['axoverlay_5ferror_5finternal',['AXOVERLAY_ERROR_INTERNAL',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a64ae96167826e297a008237b342a1474',1,'axoverlay.h']]], + ['axoverlay_5ferror_5finvalid_5fargument',['AXOVERLAY_ERROR_INVALID_ARGUMENT',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a2c94311e80ff3f31edf89f0e402d8851',1,'axoverlay.h']]], + ['axoverlay_5ferror_5finvalid_5fvalue',['AXOVERLAY_ERROR_INVALID_VALUE',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a786851c992cfe9c3c515620ecbdc9943',1,'axoverlay.h']]], + ['axoverlay_5ferror_5fservice_5funavailable',['AXOVERLAY_ERROR_SERVICE_UNAVAILABLE',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21ae8da7833aa75886b72719fda5c3355e2',1,'axoverlay.h']]], + ['axoverlay_5ferror_5funexpected',['AXOVERLAY_ERROR_UNEXPECTED',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21abd05ba5ae91988339ab9639fd9ceb624',1,'axoverlay.h']]], + ['axoverlay_5fget_5fmax_5fresolution_5fheight',['axoverlay_get_max_resolution_height',['../axoverlay_8h.html#aba18305ff424cfe2dd8c88974da6c700',1,'axoverlay.h']]], + ['axoverlay_5fget_5fmax_5fresolution_5fwidth',['axoverlay_get_max_resolution_width',['../axoverlay_8h.html#a2081f1e63d1ccefe40e36b7328d07b05',1,'axoverlay.h']]], + ['axoverlay_5fget_5fnumber_5fof_5fpalette_5fcolors',['axoverlay_get_number_of_palette_colors',['../axoverlay_8h.html#a9039e46539a8ed3e23754e9261b0e793',1,'axoverlay.h']]], + ['axoverlay_5fget_5fpalette_5fcolor',['axoverlay_get_palette_color',['../axoverlay_8h.html#a99b3dcd1441c0c3b28aab30680146dbf',1,'axoverlay.h']]], + ['axoverlay_5finit',['axoverlay_init',['../axoverlay_8h.html#abcee514e8d556934e857fd594a471865',1,'axoverlay.h']]], + ['axoverlay_5finit_5faxoverlay_5fsettings',['axoverlay_init_axoverlay_settings',['../axoverlay_8h.html#a3564acf79f48af97e2414127696f82d7',1,'axoverlay.h']]], + ['axoverlay_5finit_5foverlay_5fdata',['axoverlay_init_overlay_data',['../axoverlay_8h.html#a2d6236ddb190f1c5f30035c238f78b6b',1,'axoverlay.h']]], + ['axoverlay_5fis_5fbackend_5fsupported',['axoverlay_is_backend_supported',['../axoverlay_8h.html#ad150141c6187fb915ea263c9824e2114',1,'axoverlay.h']]], + ['axoverlay_5fopen_5fbackend',['AXOVERLAY_OPEN_BACKEND',['../axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92a383d3cc6dd17b2c89011ecddd26b2658',1,'axoverlay.h']]], + ['axoverlay_5fopengles_5fbackend',['AXOVERLAY_OPENGLES_BACKEND',['../axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92a77beab5289aa322ce600eaa329ad138c',1,'axoverlay.h']]], + ['axoverlay_5foverlay_5fdata',['axoverlay_overlay_data',['../structaxoverlay__overlay__data.html',1,'']]], + ['axoverlay_5fpalette_5fcolor',['axoverlay_palette_color',['../structaxoverlay__palette__color.html',1,'']]], + ['axoverlay_5fposition_5ftype',['axoverlay_position_type',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60c',1,'axoverlay.h']]], + ['axoverlay_5fquad_5fcamera_5fid',['AXOVERLAY_QUAD_CAMERA_ID',['../axoverlay_8h.html#ae39d6ff9a957a1da895c494104161b4c',1,'axoverlay.h']]], + ['axoverlay_5fredraw',['axoverlay_redraw',['../axoverlay_8h.html#ac73bea732951f6bdcead8ee248b35b0a',1,'axoverlay.h']]], + ['axoverlay_5freload_5fstreams',['axoverlay_reload_streams',['../axoverlay_8h.html#a05e917b3d92ca3b5e38dd074aeb7d80c',1,'axoverlay.h']]], + ['axoverlay_5frender_5ffunction',['axoverlay_render_function',['../axoverlay_8h.html#af8cda33355d9b1345b4bc97836324a6e',1,'axoverlay.h']]], + ['axoverlay_5fset_5foverlay_5fposition',['axoverlay_set_overlay_position',['../axoverlay_8h.html#ade3ed3d327deba171eb679416a28af6e',1,'axoverlay.h']]], + ['axoverlay_5fset_5foverlay_5fsize',['axoverlay_set_overlay_size',['../axoverlay_8h.html#aadef178b4a74eb601c095fcb9a0875b3',1,'axoverlay.h']]], + ['axoverlay_5fset_5fpalette_5fcolor',['axoverlay_set_palette_color',['../axoverlay_8h.html#ac95c0f4c11509dfae12707aff79eedb8',1,'axoverlay.h']]], + ['axoverlay_5fsettings',['axoverlay_settings',['../structaxoverlay__settings.html',1,'']]], + ['axoverlay_5fstream_5fdata',['axoverlay_stream_data',['../structaxoverlay__stream__data.html',1,'']]], + ['axoverlay_5fstream_5fselect_5ffunction',['axoverlay_stream_select_function',['../axoverlay_8h.html#a69680654ad920dd63825debf80db1835',1,'axoverlay.h']]], + ['axoverlay_5ftop_5fleft',['AXOVERLAY_TOP_LEFT',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60ca9d75b57391dd41ef324a2f9a8eb3fd0f',1,'axoverlay.h']]], + ['axoverlay_5ftop_5fright',['AXOVERLAY_TOP_RIGHT',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60ca4e2e8dff710303da53f9984e5d6d2d2d',1,'axoverlay.h']]], + ['axoverlay_5fz_5fprio_5fhigh',['AXOVERLAY_Z_PRIO_HIGH',['../axoverlay_8h.html#a0479f50dd4fab27a3e2812e2f9c33ecf',1,'axoverlay.h']]], + ['axoverlay_5fz_5fprio_5flow',['AXOVERLAY_Z_PRIO_LOW',['../axoverlay_8h.html#a51fd42bb071d82e3973c86a10a8fe8ba',1,'axoverlay.h']]], + ['axoverlay_5fz_5fprio_5fmedium',['AXOVERLAY_Z_PRIO_MEDIUM',['../axoverlay_8h.html#ad484b29c95580bfacf74efbc7e4848d6',1,'axoverlay.h']]], + ['axoverlay_5fz_5fprio_5fvery_5fhigh',['AXOVERLAY_Z_PRIO_VERY_HIGH',['../axoverlay_8h.html#a5fd4ab19e72943126ce728ba5eed79df',1,'axoverlay.h']]], + ['axoverlay_20c_20api',['Axoverlay C API',['../axoverlaypage.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_1.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_1.html new file mode 100644 index 0000000..b13f0f7 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_1.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_1.js new file mode 100644 index 0000000..00b1f92 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['backend',['backend',['../structaxoverlay__settings.html#a20c62ceccae952713b7a503cec0c3cb6',1,'axoverlay_settings']]], + ['blue',['blue',['../structaxoverlay__palette__color.html#a0802a40275a8ebe7dcfad6b02cac648d',1,'axoverlay_palette_color']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_2.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_2.html new file mode 100644 index 0000000..9543c57 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_2.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_2.js new file mode 100644 index 0000000..fd417e1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['camera',['camera',['../structaxoverlay__stream__data.html#ab53ec280815a284af8bacec918be5156',1,'axoverlay_stream_data']]], + ['colorspace',['colorspace',['../structaxoverlay__overlay__data.html#af592d09a5eabb50821c18fec1627a5b4',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_3.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_3.html new file mode 100644 index 0000000..03405c0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_3.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_3.js new file mode 100644 index 0000000..1983e65 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['documentation',['Documentation',['../index.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_4.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_4.html new file mode 100644 index 0000000..8e1f4b9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_4.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_4.js new file mode 100644 index 0000000..fa26134 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['green',['green',['../structaxoverlay__palette__color.html#a31adfa586bd42b64bc7b3e325cfcb577',1,'axoverlay_palette_color']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_5.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_5.html new file mode 100644 index 0000000..89a879e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_5.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_5.js new file mode 100644 index 0000000..65171f5 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['height',['height',['../structaxoverlay__stream__data.html#aa940c45118672a025580471a37f271d3',1,'axoverlay_stream_data::height()'],['../structaxoverlay__overlay__data.html#a46ba082e753d485adab2336ae52b5582',1,'axoverlay_overlay_data::height()']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_6.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_6.html new file mode 100644 index 0000000..6afac06 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_6.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_6.js new file mode 100644 index 0000000..1332b05 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['id',['id',['../structaxoverlay__stream__data.html#a347956f69ef6dd2d9999ed96c213870e',1,'axoverlay_stream_data']]], + ['is_5fmirrored',['is_mirrored',['../structaxoverlay__stream__data.html#a8e8231382e1cdfcb1b18181d6b449b0e',1,'axoverlay_stream_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_7.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_7.html new file mode 100644 index 0000000..de19107 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_7.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_7.js new file mode 100644 index 0000000..c08424f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['pixelate',['pixelate',['../structaxoverlay__palette__color.html#a5ec6048413456ac23a8ff5e727cb141e',1,'axoverlay_palette_color']]], + ['postype',['postype',['../structaxoverlay__overlay__data.html#a2aa5d3212f383f449e3974287761d97f',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_8.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_8.html new file mode 100644 index 0000000..11e27cd --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_8.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_8.js new file mode 100644 index 0000000..1d55c2a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['red',['red',['../structaxoverlay__palette__color.html#a7478e3688c1a8fe2b1fd60a6b1d3880f',1,'axoverlay_palette_color']]], + ['render_5fcallback',['render_callback',['../structaxoverlay__settings.html#a2a05cf0530b75e544c405f7ac2815d6f',1,'axoverlay_settings']]], + ['rotation',['rotation',['../structaxoverlay__stream__data.html#a5ca0ccfbf0a3ee8d702e8f36571d7e84',1,'axoverlay_stream_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_9.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_9.html new file mode 100644 index 0000000..f8abbbe --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_9.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_9.js new file mode 100644 index 0000000..3e4af52 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['scale_5fto_5fstream',['scale_to_stream',['../structaxoverlay__overlay__data.html#a0d4653fec3b723a920cd2e73eb80a728',1,'axoverlay_overlay_data']]], + ['select_5fcallback',['select_callback',['../structaxoverlay__settings.html#a3af89cc57be8e494a8ef473494f71bea',1,'axoverlay_settings']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_a.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_a.html new file mode 100644 index 0000000..9601fce --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_a.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_a.js new file mode 100644 index 0000000..1707ea9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['width',['width',['../structaxoverlay__stream__data.html#a9a23ef4cefd4dc279ded96480d2daf93',1,'axoverlay_stream_data::width()'],['../structaxoverlay__overlay__data.html#a24bfa7a9ed82734edc160a57f1ed49fe',1,'axoverlay_overlay_data::width()']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_b.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_b.html new file mode 100644 index 0000000..0814e4e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_b.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_b.js new file mode 100644 index 0000000..c0b1fbe --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['x',['x',['../structaxoverlay__overlay__data.html#a22fa3d552594bb3849a18616d6ccfdcb',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_c.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_c.html new file mode 100644 index 0000000..da08c38 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_c.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_c.js new file mode 100644 index 0000000..3673fc9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y',['y',['../structaxoverlay__overlay__data.html#a9b62dfea0dbb98102fdcc4544e5a6013',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_d.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_d.html new file mode 100644 index 0000000..9986c9c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_d.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_d.js new file mode 100644 index 0000000..8773a17 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/all_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z_5fpriority',['z_priority',['../structaxoverlay__overlay__data.html#a9fc5a3ae54574aa9a104c46f11d9c19b',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/classes_0.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/classes_0.html new file mode 100644 index 0000000..1c3e406 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/classes_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/classes_0.js new file mode 100644 index 0000000..8378d72 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/classes_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['axoverlay_5foverlay_5fdata',['axoverlay_overlay_data',['../structaxoverlay__overlay__data.html',1,'']]], + ['axoverlay_5fpalette_5fcolor',['axoverlay_palette_color',['../structaxoverlay__palette__color.html',1,'']]], + ['axoverlay_5fsettings',['axoverlay_settings',['../structaxoverlay__settings.html',1,'']]], + ['axoverlay_5fstream_5fdata',['axoverlay_stream_data',['../structaxoverlay__stream__data.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/close.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/defines_0.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/defines_0.html new file mode 100644 index 0000000..5b25204 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/defines_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/defines_0.js new file mode 100644 index 0000000..b0f275a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/defines_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['axoverlay_5fdefault_5fcamera_5fid',['AXOVERLAY_DEFAULT_CAMERA_ID',['../axoverlay_8h.html#a1c41cacf9e4a49827169a0e42d032bf0',1,'axoverlay.h']]], + ['axoverlay_5fquad_5fcamera_5fid',['AXOVERLAY_QUAD_CAMERA_ID',['../axoverlay_8h.html#ae39d6ff9a957a1da895c494104161b4c',1,'axoverlay.h']]], + ['axoverlay_5fz_5fprio_5fhigh',['AXOVERLAY_Z_PRIO_HIGH',['../axoverlay_8h.html#a0479f50dd4fab27a3e2812e2f9c33ecf',1,'axoverlay.h']]], + ['axoverlay_5fz_5fprio_5flow',['AXOVERLAY_Z_PRIO_LOW',['../axoverlay_8h.html#a51fd42bb071d82e3973c86a10a8fe8ba',1,'axoverlay.h']]], + ['axoverlay_5fz_5fprio_5fmedium',['AXOVERLAY_Z_PRIO_MEDIUM',['../axoverlay_8h.html#ad484b29c95580bfacf74efbc7e4848d6',1,'axoverlay.h']]], + ['axoverlay_5fz_5fprio_5fvery_5fhigh',['AXOVERLAY_Z_PRIO_VERY_HIGH',['../axoverlay_8h.html#a5fd4ab19e72943126ce728ba5eed79df',1,'axoverlay.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enums_0.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enums_0.html new file mode 100644 index 0000000..ee343ac --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enums_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enums_0.js new file mode 100644 index 0000000..621bf60 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enums_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['axoverlay_5fanchor_5fpoint',['axoverlay_anchor_point',['../axoverlay_8h.html#aa9f8d7e0652223e43d0d80b35fb1b017',1,'axoverlay.h']]], + ['axoverlay_5fbackend_5ftype',['axoverlay_backend_type',['../axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace',['axoverlay_colorspace',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6',1,'axoverlay.h']]], + ['axoverlay_5ferror_5fcode',['axoverlay_error_code',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21',1,'axoverlay.h']]], + ['axoverlay_5fposition_5ftype',['axoverlay_position_type',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60c',1,'axoverlay.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enumvalues_0.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enumvalues_0.html new file mode 100644 index 0000000..9387b6a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enumvalues_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enumvalues_0.js new file mode 100644 index 0000000..41a855b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/enumvalues_0.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['axoverlay_5fanchor_5fcenter',['AXOVERLAY_ANCHOR_CENTER',['../axoverlay_8h.html#aa9f8d7e0652223e43d0d80b35fb1b017a364bf6dd30ca9c71e5e3cb711befd6fc',1,'axoverlay.h']]], + ['axoverlay_5fanchor_5ftop_5fleft',['AXOVERLAY_ANCHOR_TOP_LEFT',['../axoverlay_8h.html#aa9f8d7e0652223e43d0d80b35fb1b017a8d67dcee72751fc14aa2d1bce7600efe',1,'axoverlay.h']]], + ['axoverlay_5fbottom_5fleft',['AXOVERLAY_BOTTOM_LEFT',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60ca5b422692c040dcfe7054ab4187907543',1,'axoverlay.h']]], + ['axoverlay_5fbottom_5fright',['AXOVERLAY_BOTTOM_RIGHT',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60cae7abd117533b3596c9857dfb6f035346',1,'axoverlay.h']]], + ['axoverlay_5fcairo_5fimage_5fbackend',['AXOVERLAY_CAIRO_IMAGE_BACKEND',['../axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92ac6f3615a8c70061239d8de38f945ebba',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace_5f1bit_5fpalette',['AXOVERLAY_COLORSPACE_1BIT_PALETTE',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6a5c0fd09e24c9823121befe7f02c9d9a6',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace_5f4bit_5fpalette',['AXOVERLAY_COLORSPACE_4BIT_PALETTE',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6ae4321f158a3ce91d40e9dd2533011fe9',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace_5fargb32',['AXOVERLAY_COLORSPACE_ARGB32',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6a24f2d5da13ccea3f24c9285daa3d5806',1,'axoverlay.h']]], + ['axoverlay_5fcolorspace_5fundefined',['AXOVERLAY_COLORSPACE_UNDEFINED',['../axoverlay_8h.html#a63b90552971c0a0e467093ff3418cbd6a11f43c73718917f1305588ce9bb9461a',1,'axoverlay.h']]], + ['axoverlay_5fcustom_5fnormalized',['AXOVERLAY_CUSTOM_NORMALIZED',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60cae68566e8f6ec53b269eb4aa7e9553af4',1,'axoverlay.h']]], + ['axoverlay_5fcustom_5fsource',['AXOVERLAY_CUSTOM_SOURCE',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60cac88c862b0d51cf8b4edf7ec7945dec9a',1,'axoverlay.h']]], + ['axoverlay_5ferror_5fbackend',['AXOVERLAY_ERROR_BACKEND',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21ab6162de2f1b5a2e34b181e67de5b97b5',1,'axoverlay.h']]], + ['axoverlay_5ferror_5fgeneric',['AXOVERLAY_ERROR_GENERIC',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a51424a18510a24d1ba8874a8b5075845',1,'axoverlay.h']]], + ['axoverlay_5ferror_5finternal',['AXOVERLAY_ERROR_INTERNAL',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a64ae96167826e297a008237b342a1474',1,'axoverlay.h']]], + ['axoverlay_5ferror_5finvalid_5fargument',['AXOVERLAY_ERROR_INVALID_ARGUMENT',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a2c94311e80ff3f31edf89f0e402d8851',1,'axoverlay.h']]], + ['axoverlay_5ferror_5finvalid_5fvalue',['AXOVERLAY_ERROR_INVALID_VALUE',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21a786851c992cfe9c3c515620ecbdc9943',1,'axoverlay.h']]], + ['axoverlay_5ferror_5fservice_5funavailable',['AXOVERLAY_ERROR_SERVICE_UNAVAILABLE',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21ae8da7833aa75886b72719fda5c3355e2',1,'axoverlay.h']]], + ['axoverlay_5ferror_5funexpected',['AXOVERLAY_ERROR_UNEXPECTED',['../axoverlay_8h.html#ad1ba0477e427afaa3c42637c442ffc21abd05ba5ae91988339ab9639fd9ceb624',1,'axoverlay.h']]], + ['axoverlay_5fopen_5fbackend',['AXOVERLAY_OPEN_BACKEND',['../axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92a383d3cc6dd17b2c89011ecddd26b2658',1,'axoverlay.h']]], + ['axoverlay_5fopengles_5fbackend',['AXOVERLAY_OPENGLES_BACKEND',['../axoverlay_8h.html#a12c15b65d51e7a59600531d1d5c81e92a77beab5289aa322ce600eaa329ad138c',1,'axoverlay.h']]], + ['axoverlay_5ftop_5fleft',['AXOVERLAY_TOP_LEFT',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60ca9d75b57391dd41ef324a2f9a8eb3fd0f',1,'axoverlay.h']]], + ['axoverlay_5ftop_5fright',['AXOVERLAY_TOP_RIGHT',['../axoverlay_8h.html#a3d9bc98f846c4fa067a5d32e7c86e60ca4e2e8dff710303da53f9984e5d6d2d2d',1,'axoverlay.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/files_0.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/files_0.html new file mode 100644 index 0000000..4f272b8 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/files_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/files_0.js new file mode 100644 index 0000000..07a616b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/files_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['axoverlay_2eh',['axoverlay.h',['../axoverlay_8h.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/functions_0.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/functions_0.html new file mode 100644 index 0000000..4e6d87d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/functions_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/functions_0.js new file mode 100644 index 0000000..552139d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/functions_0.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['axoverlay_5fcleanup',['axoverlay_cleanup',['../axoverlay_8h.html#a3510c0ea4e04846864603505b3994cf5',1,'axoverlay.h']]], + ['axoverlay_5fcreate_5foverlay',['axoverlay_create_overlay',['../axoverlay_8h.html#a95a791a9f63d0c5bad2d403b0d8c7ba3',1,'axoverlay.h']]], + ['axoverlay_5fdestroy_5foverlay',['axoverlay_destroy_overlay',['../axoverlay_8h.html#aef2581df55e0b9adef9fcb795336c902',1,'axoverlay.h']]], + ['axoverlay_5fget_5fmax_5fresolution_5fheight',['axoverlay_get_max_resolution_height',['../axoverlay_8h.html#aba18305ff424cfe2dd8c88974da6c700',1,'axoverlay.h']]], + ['axoverlay_5fget_5fmax_5fresolution_5fwidth',['axoverlay_get_max_resolution_width',['../axoverlay_8h.html#a2081f1e63d1ccefe40e36b7328d07b05',1,'axoverlay.h']]], + ['axoverlay_5fget_5fnumber_5fof_5fpalette_5fcolors',['axoverlay_get_number_of_palette_colors',['../axoverlay_8h.html#a9039e46539a8ed3e23754e9261b0e793',1,'axoverlay.h']]], + ['axoverlay_5fget_5fpalette_5fcolor',['axoverlay_get_palette_color',['../axoverlay_8h.html#a99b3dcd1441c0c3b28aab30680146dbf',1,'axoverlay.h']]], + ['axoverlay_5finit',['axoverlay_init',['../axoverlay_8h.html#abcee514e8d556934e857fd594a471865',1,'axoverlay.h']]], + ['axoverlay_5finit_5faxoverlay_5fsettings',['axoverlay_init_axoverlay_settings',['../axoverlay_8h.html#a3564acf79f48af97e2414127696f82d7',1,'axoverlay.h']]], + ['axoverlay_5finit_5foverlay_5fdata',['axoverlay_init_overlay_data',['../axoverlay_8h.html#a2d6236ddb190f1c5f30035c238f78b6b',1,'axoverlay.h']]], + ['axoverlay_5fis_5fbackend_5fsupported',['axoverlay_is_backend_supported',['../axoverlay_8h.html#ad150141c6187fb915ea263c9824e2114',1,'axoverlay.h']]], + ['axoverlay_5fredraw',['axoverlay_redraw',['../axoverlay_8h.html#ac73bea732951f6bdcead8ee248b35b0a',1,'axoverlay.h']]], + ['axoverlay_5freload_5fstreams',['axoverlay_reload_streams',['../axoverlay_8h.html#a05e917b3d92ca3b5e38dd074aeb7d80c',1,'axoverlay.h']]], + ['axoverlay_5fset_5foverlay_5fposition',['axoverlay_set_overlay_position',['../axoverlay_8h.html#ade3ed3d327deba171eb679416a28af6e',1,'axoverlay.h']]], + ['axoverlay_5fset_5foverlay_5fsize',['axoverlay_set_overlay_size',['../axoverlay_8h.html#aadef178b4a74eb601c095fcb9a0875b3',1,'axoverlay.h']]], + ['axoverlay_5fset_5fpalette_5fcolor',['axoverlay_set_palette_color',['../axoverlay_8h.html#ac95c0f4c11509dfae12707aff79eedb8',1,'axoverlay.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/mag_sel.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17 GIT binary patch literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/nomatches.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_0.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_0.html new file mode 100644 index 0000000..4955b9e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_0.js new file mode 100644 index 0000000..c12e83a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['axoverlay_20c_20api',['Axoverlay C API',['../axoverlaypage.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_1.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_1.html new file mode 100644 index 0000000..aedb14e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_1.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_1.js new file mode 100644 index 0000000..1983e65 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['documentation',['Documentation',['../index.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search.css b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search.css new file mode 100644 index 0000000..7739c2d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #CDCBC6; + background-color: #FCFCFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #959288; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #F7F7F6; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #9B988F; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #9B988F; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F8F8F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search_r.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a GIT binary patch literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000 + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/typedefs_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/typedefs_0.js new file mode 100644 index 0000000..85c10ad --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/typedefs_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['axoverlay_5fadjustment_5ffunction',['axoverlay_adjustment_function',['../axoverlay_8h.html#acd597540ddc493c361cf49d425527c9b',1,'axoverlay.h']]], + ['axoverlay_5frender_5ffunction',['axoverlay_render_function',['../axoverlay_8h.html#af8cda33355d9b1345b4bc97836324a6e',1,'axoverlay.h']]], + ['axoverlay_5fstream_5fselect_5ffunction',['axoverlay_stream_select_function',['../axoverlay_8h.html#a69680654ad920dd63825debf80db1835',1,'axoverlay.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_0.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_0.html new file mode 100644 index 0000000..74ce807 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_0.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_0.js new file mode 100644 index 0000000..df2fd62 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['adjustment_5fcallback',['adjustment_callback',['../structaxoverlay__settings.html#a7046259754ff077dc8fd06e696f3f4f8',1,'axoverlay_settings']]], + ['alpha',['alpha',['../structaxoverlay__palette__color.html#aa1657a8276538422d872b40c7f87a69e',1,'axoverlay_palette_color']]], + ['anchor_5fpoint',['anchor_point',['../structaxoverlay__overlay__data.html#a0b35d31c6fb144ae4696c52e5be668d1',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_1.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_1.html new file mode 100644 index 0000000..84237b6 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_1.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_1.js new file mode 100644 index 0000000..00b1f92 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['backend',['backend',['../structaxoverlay__settings.html#a20c62ceccae952713b7a503cec0c3cb6',1,'axoverlay_settings']]], + ['blue',['blue',['../structaxoverlay__palette__color.html#a0802a40275a8ebe7dcfad6b02cac648d',1,'axoverlay_palette_color']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_2.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_2.html new file mode 100644 index 0000000..5c9de1a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_2.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_2.js new file mode 100644 index 0000000..fd417e1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['camera',['camera',['../structaxoverlay__stream__data.html#ab53ec280815a284af8bacec918be5156',1,'axoverlay_stream_data']]], + ['colorspace',['colorspace',['../structaxoverlay__overlay__data.html#af592d09a5eabb50821c18fec1627a5b4',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_3.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_3.html new file mode 100644 index 0000000..f95e34c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_3.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_3.js new file mode 100644 index 0000000..fa26134 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['green',['green',['../structaxoverlay__palette__color.html#a31adfa586bd42b64bc7b3e325cfcb577',1,'axoverlay_palette_color']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_4.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_4.html new file mode 100644 index 0000000..d7db285 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_4.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_4.js new file mode 100644 index 0000000..65171f5 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['height',['height',['../structaxoverlay__stream__data.html#aa940c45118672a025580471a37f271d3',1,'axoverlay_stream_data::height()'],['../structaxoverlay__overlay__data.html#a46ba082e753d485adab2336ae52b5582',1,'axoverlay_overlay_data::height()']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_5.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_5.html new file mode 100644 index 0000000..7bbceeb --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_5.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_5.js new file mode 100644 index 0000000..1332b05 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['id',['id',['../structaxoverlay__stream__data.html#a347956f69ef6dd2d9999ed96c213870e',1,'axoverlay_stream_data']]], + ['is_5fmirrored',['is_mirrored',['../structaxoverlay__stream__data.html#a8e8231382e1cdfcb1b18181d6b449b0e',1,'axoverlay_stream_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_6.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_6.html new file mode 100644 index 0000000..4eb162d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_6.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_6.js new file mode 100644 index 0000000..c08424f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['pixelate',['pixelate',['../structaxoverlay__palette__color.html#a5ec6048413456ac23a8ff5e727cb141e',1,'axoverlay_palette_color']]], + ['postype',['postype',['../structaxoverlay__overlay__data.html#a2aa5d3212f383f449e3974287761d97f',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_7.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_7.html new file mode 100644 index 0000000..0408829 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_7.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_7.js new file mode 100644 index 0000000..1d55c2a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['red',['red',['../structaxoverlay__palette__color.html#a7478e3688c1a8fe2b1fd60a6b1d3880f',1,'axoverlay_palette_color']]], + ['render_5fcallback',['render_callback',['../structaxoverlay__settings.html#a2a05cf0530b75e544c405f7ac2815d6f',1,'axoverlay_settings']]], + ['rotation',['rotation',['../structaxoverlay__stream__data.html#a5ca0ccfbf0a3ee8d702e8f36571d7e84',1,'axoverlay_stream_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_8.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_8.html new file mode 100644 index 0000000..d54d096 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_8.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_8.js new file mode 100644 index 0000000..3e4af52 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['scale_5fto_5fstream',['scale_to_stream',['../structaxoverlay__overlay__data.html#a0d4653fec3b723a920cd2e73eb80a728',1,'axoverlay_overlay_data']]], + ['select_5fcallback',['select_callback',['../structaxoverlay__settings.html#a3af89cc57be8e494a8ef473494f71bea',1,'axoverlay_settings']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_9.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_9.html new file mode 100644 index 0000000..234dc60 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_9.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_9.js new file mode 100644 index 0000000..1707ea9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['width',['width',['../structaxoverlay__stream__data.html#a9a23ef4cefd4dc279ded96480d2daf93',1,'axoverlay_stream_data::width()'],['../structaxoverlay__overlay__data.html#a24bfa7a9ed82734edc160a57f1ed49fe',1,'axoverlay_overlay_data::width()']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_a.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_a.html new file mode 100644 index 0000000..0892488 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_a.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_a.js new file mode 100644 index 0000000..c0b1fbe --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['x',['x',['../structaxoverlay__overlay__data.html#a22fa3d552594bb3849a18616d6ccfdcb',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_b.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_b.html new file mode 100644 index 0000000..ea46965 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_b.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_b.js new file mode 100644 index 0000000..3673fc9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y',['y',['../structaxoverlay__overlay__data.html#a9b62dfea0dbb98102fdcc4544e5a6013',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_c.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_c.html new file mode 100644 index 0000000..94bf1a6 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_c.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_c.js new file mode 100644 index 0000000..8773a17 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/search/variables_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z_5fpriority',['z_priority',['../structaxoverlay__overlay__data.html#a9fc5a3ae54574aa9a104c46f11d9c19b',1,'axoverlay_overlay_data']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/splitbar.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..50b731684eaf401f37e89639aa419dec38d0a5e3 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf@Vh8?%HHL>wOK z?@H0TyM=Xn*#xUEQ@s{+=$&njs9Dd|Yq6zUpmg%Nn@QYymdKI;Vst0CM(>;Q#;t literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__overlay__data.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__overlay__data.html new file mode 100644 index 0000000..033eaef --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__overlay__data.html @@ -0,0 +1,266 @@ + + + + + + + +Axoverlay Library: axoverlay_overlay_data Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
axoverlay_overlay_data Struct Reference
+
+
+ +

#include <axoverlay.h>

+ + + + + + + + + + + + + + + + + + + + +

+Data Fields

enum axoverlay_anchor_point anchor_point
 
enum axoverlay_position_type postype
 
gfloat x
 
gfloat y
 
gint width
 
gint height
 
gint z_priority
 
enum axoverlay_colorspace colorspace
 
gboolean scale_to_stream
 
+

Detailed Description

+

This struct contains data used to create a new overlay.

+

Field Documentation

+ +

◆ anchor_point

+ +
+
+ + + + +
enum axoverlay_anchor_point axoverlay_overlay_data::anchor_point
+
+

The anchor point for the overlay. The default is AXOVERLAY_ANCHOR_TOP_LEFT.

+ +
+
+ +

◆ colorspace

+ +
+
+ + + + +
enum axoverlay_colorspace axoverlay_overlay_data::colorspace
+
+

The colorspace must be set to one of the constants in overlay_colorspace. Note that when using the palette colorspaces only the alpha channel has any effect (when rendering with cairo). The palette colors needs to be set manually by invoking dbus. The default is ARGB32.

+ +
+
+ +

◆ height

+ +
+
+ + + + +
gint axoverlay_overlay_data::height
+
+

The height of the overlay. It should be set to the size that the overlay should have on a stream of max resolution. Unless scale_to_stream is set to FALSE the size will later be scaled to the actual stream resolution.

+ +
+
+ +

◆ postype

+ +
+
+ + + + +
enum axoverlay_position_type axoverlay_overlay_data::postype
+
+

The postion type. This parameter controls how the x and y parameters are interpreted. See documentation of position_type for details.

+ +
+
+ +

◆ scale_to_stream

+ +
+
+ + + + +
gboolean axoverlay_overlay_data::scale_to_stream
+
+

If this parameter is set to TRUE the size of the overlay will be scaled to match the resolution of the stream. If it is set to FALSE the developer is responsible for handling this in the adjustment_callback. The default is TRUE.

+ +
+
+ +

◆ width

+ +
+
+ + + + +
gint axoverlay_overlay_data::width
+
+

The width of the overlay. It should be set to the size that the overlay should have on a stream of max resolution. Unless scale_to_stream is set to FALSE the size will later be scaled to the actual stream resolution.

+ +
+
+ +

◆ x

+ +
+
+ + + + +
gfloat axoverlay_overlay_data::x
+
+

The x coordinate for the position of the top-left corner of the overlay.

+ +
+
+ +

◆ y

+ +
+
+ + + + +
gfloat axoverlay_overlay_data::y
+
+

The y coordinats for the position of the top-left corner of the overlay.

+ +
+
+ +

◆ z_priority

+ +
+
+ + + + +
gint axoverlay_overlay_data::z_priority
+
+

The z priority of the overlay. An overlay with higher priority will be placed in front of an overlay with lower priority in case they overlay. The default is 0.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__overlay__data.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__overlay__data.js new file mode 100644 index 0000000..e607a79 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__overlay__data.js @@ -0,0 +1,12 @@ +var structaxoverlay__overlay__data = +[ + [ "anchor_point", "structaxoverlay__overlay__data.html#a0b35d31c6fb144ae4696c52e5be668d1", null ], + [ "colorspace", "structaxoverlay__overlay__data.html#af592d09a5eabb50821c18fec1627a5b4", null ], + [ "height", "structaxoverlay__overlay__data.html#a46ba082e753d485adab2336ae52b5582", null ], + [ "postype", "structaxoverlay__overlay__data.html#a2aa5d3212f383f449e3974287761d97f", null ], + [ "scale_to_stream", "structaxoverlay__overlay__data.html#a0d4653fec3b723a920cd2e73eb80a728", null ], + [ "width", "structaxoverlay__overlay__data.html#a24bfa7a9ed82734edc160a57f1ed49fe", null ], + [ "x", "structaxoverlay__overlay__data.html#a22fa3d552594bb3849a18616d6ccfdcb", null ], + [ "y", "structaxoverlay__overlay__data.html#a9b62dfea0dbb98102fdcc4544e5a6013", null ], + [ "z_priority", "structaxoverlay__overlay__data.html#a9fc5a3ae54574aa9a104c46f11d9c19b", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__palette__color.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__palette__color.html new file mode 100644 index 0000000..6d4545f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__palette__color.html @@ -0,0 +1,198 @@ + + + + + + + +Axoverlay Library: axoverlay_palette_color Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
axoverlay_palette_color Struct Reference
+
+
+ +

#include <axoverlay.h>

+ + + + + + + + + + + + +

+Data Fields

guchar red
 
guchar green
 
guchar blue
 
guchar alpha
 
gboolean pixelate
 
+

Detailed Description

+

This struct represents a palette color.

+

Field Documentation

+ +

◆ alpha

+ +
+
+ + + + +
guchar axoverlay_palette_color::alpha
+
+

The alpha byte value.

+ +
+
+ +

◆ blue

+ +
+
+ + + + +
guchar axoverlay_palette_color::blue
+
+

The blue byte value.

+ +
+
+ +

◆ green

+ +
+
+ + + + +
guchar axoverlay_palette_color::green
+
+

The green byte value.

+ +
+
+ +

◆ pixelate

+ +
+
+ + + + +
gboolean axoverlay_palette_color::pixelate
+
+

Flag indicating if the color is used for pixelation.

+ +
+
+ +

◆ red

+ +
+
+ + + + +
guchar axoverlay_palette_color::red
+
+

The red byte value.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__palette__color.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__palette__color.js new file mode 100644 index 0000000..bd08bc3 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__palette__color.js @@ -0,0 +1,8 @@ +var structaxoverlay__palette__color = +[ + [ "alpha", "structaxoverlay__palette__color.html#aa1657a8276538422d872b40c7f87a69e", null ], + [ "blue", "structaxoverlay__palette__color.html#a0802a40275a8ebe7dcfad6b02cac648d", null ], + [ "green", "structaxoverlay__palette__color.html#a31adfa586bd42b64bc7b3e325cfcb577", null ], + [ "pixelate", "structaxoverlay__palette__color.html#a5ec6048413456ac23a8ff5e727cb141e", null ], + [ "red", "structaxoverlay__palette__color.html#a7478e3688c1a8fe2b1fd60a6b1d3880f", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings.html new file mode 100644 index 0000000..42d38e3 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings.html @@ -0,0 +1,188 @@ + + + + + + + +Axoverlay Library: axoverlay_settings Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
axoverlay_settings Struct Reference
+
+
+ +

#include <axoverlay.h>

+
+Collaboration diagram for axoverlay_settings:
+
+
Collaboration graph
+ + +
[legend]
+ + + + + + + + + + +

+Data Fields

axoverlay_render_function render_callback
 
axoverlay_adjustment_function adjustment_callback
 
axoverlay_stream_select_function select_callback
 
enum axoverlay_backend_type backend
 
+

Detailed Description

+

This struct contains callback that lets the developer customize the behaviour of the library.

+

Field Documentation

+ +

◆ adjustment_callback

+ +
+
+ + + + +
axoverlay_adjustment_function axoverlay_settings::adjustment_callback
+
+

A function that is called prior to rendering each time an overlay is rendered on a stream. Use it to make adjustments to it's size and position. Nullable.

+ +
+
+ +

◆ backend

+ +
+
+ + + + +
enum axoverlay_backend_type axoverlay_settings::backend
+
+

A variable used to select the desired backend to be used by axoverlay.

+ +
+
+ +

◆ render_callback

+ +
+
+ + + + +
axoverlay_render_function axoverlay_settings::render_callback
+
+

A function called when an overlay needs to be drawn. It can be called manually via axoverlay_redraw() but is also called from the system, for example when a new stream appears. Not nullable.

+ +
+
+ +

◆ select_callback

+ +
+
+ + + + +
axoverlay_stream_select_function axoverlay_settings::select_callback
+
+

A function each time a new stream is detected. Use it to decide if overlays should be rendered to this stream or not. Nullable.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings.js new file mode 100644 index 0000000..ef35590 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings.js @@ -0,0 +1,7 @@ +var structaxoverlay__settings = +[ + [ "adjustment_callback", "structaxoverlay__settings.html#a7046259754ff077dc8fd06e696f3f4f8", null ], + [ "backend", "structaxoverlay__settings.html#a20c62ceccae952713b7a503cec0c3cb6", null ], + [ "render_callback", "structaxoverlay__settings.html#a2a05cf0530b75e544c405f7ac2815d6f", null ], + [ "select_callback", "structaxoverlay__settings.html#a3af89cc57be8e494a8ef473494f71bea", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.dot b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.dot new file mode 100644 index 0000000..81d443f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.dot @@ -0,0 +1,8 @@ +digraph "axoverlay_settings" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="axoverlay_settings",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node2 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" render_callback\nadjustment_callback" ,fontname="Helvetica"]; + Node2 [label="axoverlay_stream_data",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structaxoverlay__stream__data.html"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.md5 b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.md5 new file mode 100644 index 0000000..73a3ad4 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.md5 @@ -0,0 +1 @@ +0cf2b51d00effaea32f9a48537d332a0 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__stream__data.html b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__stream__data.html new file mode 100644 index 0000000..5559f57 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__stream__data.html @@ -0,0 +1,218 @@ + + + + + + + +Axoverlay Library: axoverlay_stream_data Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Axoverlay Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
axoverlay_stream_data Struct Reference
+
+
+ +

#include <axoverlay.h>

+ + + + + + + + + + + + + + + + +

+Data Fields

gint id
 
gint camera
 
gint width
 
gint height
 
gint rotation
 
gboolean is_mirrored
 
+enum axoverlay_stream_type type
 
+

Detailed Description

+

This struct contains information about a stream. It is used when rendering to give the developer a chance to adapt the behaviour of their code according to the properties of each stream.

+

Field Documentation

+ +

◆ camera

+ +
+
+ + + + +
gint axoverlay_stream_data::camera
+
+

The id of the camera that the stream is for

+ +
+
+ +

◆ height

+ +
+
+ + + + +
gint axoverlay_stream_data::height
+
+

The height of the stream independent of rotation. If the stream is rotated 90 or 270 degrees you have to swap width and height.

+ +
+
+ +

◆ id

+ +
+
+ + + + +
gint axoverlay_stream_data::id
+
+

The id of the stream

+ +
+
+ +

◆ is_mirrored

+ +
+
+ + + + +
gboolean axoverlay_stream_data::is_mirrored
+
+

Flag indicating if mirroring is enabled for this stream

+ +
+
+ +

◆ rotation

+ +
+
+ + + + +
gint axoverlay_stream_data::rotation
+
+

The rotation of the stream

+ +
+
+ +

◆ width

+ +
+
+ + + + +
gint axoverlay_stream_data::width
+
+

The width of the stream independent of rotation. If the stream is rotated 90 or 270 degrees you have to swap width and height.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__stream__data.js b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__stream__data.js new file mode 100644 index 0000000..71ef87a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/structaxoverlay__stream__data.js @@ -0,0 +1,10 @@ +var structaxoverlay__stream__data = +[ + [ "camera", "structaxoverlay__stream__data.html#ab53ec280815a284af8bacec918be5156", null ], + [ "height", "structaxoverlay__stream__data.html#aa940c45118672a025580471a37f271d3", null ], + [ "id", "structaxoverlay__stream__data.html#a347956f69ef6dd2d9999ed96c213870e", null ], + [ "is_mirrored", "structaxoverlay__stream__data.html#a8e8231382e1cdfcb1b18181d6b449b0e", null ], + [ "rotation", "structaxoverlay__stream__data.html#a5ca0ccfbf0a3ee8d702e8f36571d7e84", null ], + [ "type", "structaxoverlay__stream__data.html#a0e628c5b303daa0606b40e1ad8185d96", null ], + [ "width", "structaxoverlay__stream__data.html#a9a23ef4cefd4dc279ded96480d2daf93", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/sync_off.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..c0c6a81ebb34c5d133f73777319ce710f108d8ab GIT binary patch literal 831 zcmV-F1Hk-=P)|!W*BM9QI^kP>c zDB>=6qtF`%>p&FT)Y?s|rIxKsnJ68a7;B@?ljS7moSu|cygj@>@}6_TdET$*eQ#Y8 z*M0&hr%CJ*Bce~#3%7VG?uuW8WC*oHibfk~@9d$Yt2fWM+NItc zZ!OK0*GD3mBHpsyvUD{-RBK&5Njkd{xZT$AtO?Z;+Zv}S)=YJEP4Rh5?(Hph$&|LV zwv$W^JvSy>1Gu#2_iq4L)y*5f-nEiW(gXy#AmAJ3Zqa#sg@(j4H)KMSPOujuYgO6#g+PRb@zas6vAr|;k4 z`LllkOPSOj= z6(^{|h0o`I`#O_xOw~${hg>d4PKF1-=4U;ui~w7O&P-_?0(`hPg#^B3YpOAOveLd7KLA+D?}cNtws2_J8v$T9 zA-)otQ$VSdJHe)eM(z>&#F)_SRSyyk_)Cc`AtNs79wW?Lv&A(a;EQV_(2D7X;>X;*dO zsuWs8mu?iYQ7~Nzwk9zui6IRtRVtB)nK7oB_MCBE=Dp_|Ni^Hb`7w_-k9Y37_uPB8 zu90h304iw|d&Mr%C+dYqJQHK$cX3@z0XV4waIj6B6vL%!z!G||r}Y1#xFpVsS-=ub z3HFH#A_1@lo5f-Ar8p*jGymxZ%<+x5x{jBdTdnw29Iuq%3-QZ)h7DjXeh}Z;6KM9I zH{j()J1;uT2~LSPfD@nJ4`AV`(qaN|6clHKOB2Mzw*c>OxeCctKe5JU0E=)qLaHw- zi7I~dSNav2U`U?_Ea49X=+AuaZrC29P*?%5SYBSHuC9UX;BJDU5P*|mO|S>BL^x8* zX9K&5)H*Ezz!ag-Rx;ULL?s!3&5$O@nD4~m&GhvTP+hI%{kBD;4RmxR>Fn+;>JTl7 zw(=bL{G`$u60JJ{OVnzDs4;2X$uwQvDLfwQxPB6@A>NdrG2T)X7xo^zWI9{hI!I>* z@%nu8#$;;(m+?R#unFL!_`E*cZqL$cV%h8-$nWa6wYGPX__Q4;M?RlpX=&+gPo({) z3r4CZ7_?6AlgD%1pB$H>C>XaMX@bjg@wNHE`i33FvGz)Dv`tUlV|Hd5C`Y&^QY-{* zD=RBJoVw54Uo(Iu#&obp?FpX#{e)a@k)GbP^m2>L$-9fnsDJ&s$-8%$fBp}E-Kc(n z4$mK=8nA>+7P`=0F1(N)>PVW(BU(oy(ayy9ZSuJsfRn5y&JP}kpLUuO=$t&GB&$8aRgw4oYt4yPqd3dSC8)J z03Yfnajw#d_M`Y-EC8&NF0K>esHNHt4j%w4@n`AStSKED_D%rUjfg`+*A!5WN}KtF x(9B7(U+fdQwdz5l315ll;%4ck#qkEP`yaw+ow>Gq_M!j)002ovPDHLkV1f&0h93X` literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_a.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..77d0b5c4d7f79ad8b1b79aee931f606f5489d182 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QX!r$jv*C{Z|7Qb9WdZ=)>WO{ z&f?W~WogNqh!=nRFa8L=NtJO=zD@?|J~{b q_n*d|y0LT4&pH>eH=i#0|7QxQWoGfJuv7z@&*16m=d#Wzp$Py6zc%my literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_b.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdbd99221ca006c171f1d5fe50fb9179294fa77 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qn8*cjv*C{Z|~maZ8i{bPK>vH zxyoZji`Nr=w{kx*&AVq#^Cv{?d;ZGRpd|1k5+hn73Sh_AZ&v-DMw~ffg}%y85}Sb4q9e0Df>e A<^TWy literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_h.png b/docs/acap-sdk-version-3/api/src/api/axoverlay/html/tab_h.png new file mode 100644 index 0000000000000000000000000000000000000000..d54def418b82b93eef9bb43b87a4421747303b58 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QmLLUjv*C{Z|6Gl9ai9B$<_bT zJ5|VZs)foyhl(7&li4dAEx(AazS#4ZYuEbVJ@uW%d|Sn2RQbIEpNR0fdRb3;cfs#Y zONYSj=y172t0uY4tNea{o5TM1o%de5lq}rdbnV~nt3AIo*uBJBCvJWq+x|f0 zpv=Ue19E=_nx&h{Khzz4#$%TKV2v1CS!nY`li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/examples/LICENSE b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/LICENSE new file mode 100644 index 0000000..e4ae687 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/LICENSE @@ -0,0 +1 @@ +Third Party Software Licenses diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/examples/Makefile b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/Makefile new file mode 100644 index 0000000..5ebf2b4 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/Makefile @@ -0,0 +1,21 @@ +AXIS_USABLE_LIBS = UCLIBC GLIBC +include $(AXIS_TOP_DIR)/tools/build/rules/common.mak + +PROGS = parameterApp + +CFLAGS += -Wall -g -O2 + +PKGS = glib-2.0 gio-2.0 axparameter +CFLAGS += $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --cflags $(PKGS)) +LDLIBS += $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --libs $(PKGS)) + +SRCS = axparameterexample.c +OBJS = $(SRCS:.c=.o) + +all: $(PROGS) + +$(PROGS): $(OBJS) + $(CC) $(LDFLAGS) $^ $(LIBS) $(LDLIBS) -o $@ + +clean: + rm -f $(PROGS) *.o diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/examples/axparameterexample.c b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/axparameterexample.c new file mode 100644 index 0000000..41f61f2 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/axparameterexample.c @@ -0,0 +1,167 @@ +#include +#include +#include +#include +#include +#include + + +#define APP_NAME "parameterApp" + + +static GMainLoop *loop = NULL; + + +static void +parameter_callback(const gchar *name, const gchar *value, gpointer data) +{ + syslog(LOG_INFO, "In Parameter callback"); +} + +/* Signals handling */ + +static void +handle_sigterm(int signo) +{ + g_main_loop_quit(loop); +} + +static void +init_signals(void) +{ + struct sigaction sa; + + sa.sa_flags = 0; + + sigemptyset(&sa.sa_mask); + sa.sa_handler = handle_sigterm; + sigaction(SIGTERM, &sa, NULL); + sigaction(SIGINT, &sa, NULL); +} + + +gint +main(gint argc, gchar *argv[]) +{ + AXParameter *parameter = NULL; + GError *error = NULL; + gchar *value = NULL; + GList *list = NULL; + GList *list_tmp = NULL; + + + init_signals(); + + openlog(APP_NAME, LOG_PID, LOG_LOCAL4); + + loop = g_main_loop_new(NULL, FALSE); + + syslog(LOG_INFO, "Starting %s", APP_NAME); + + /* New parameter instance is created */ + parameter = ax_parameter_new(APP_NAME, &error); + if (parameter == NULL) { + goto error_out; + } + + /* Add parameter "Parameter" */ + if (!ax_parameter_add(parameter, "Parameter", "param", NULL, &error)) { + if (error->code == AX_PARAMETER_PARAM_ADDED_ERROR) { + /* parameter is already added. Nothing to care about */ + g_error_free(error); + error = NULL; + } else { + goto error_out; + } + } + + /* Add parameter "ParameterTwo" */ + if (!ax_parameter_add(parameter, "ParameterTwo", "param_two", NULL, &error)) { + if (error->code == AX_PARAMETER_PARAM_ADDED_ERROR) { + /* parameter is already added. Nothing to care about */ + g_error_free(error); + error = NULL; + } else { + goto error_out; + } + } + + /* Add parameter "ParameterThree" */ + if (!ax_parameter_add(parameter, "ParameterThree", "param_three", NULL, + &error)) { + if (error->code == AX_PARAMETER_PARAM_ADDED_ERROR) { + /* parameter is already added. Nothing to care about */ + g_error_free(error); + error = NULL; + } else { + goto error_out; + } + } + + /* Get the value of the parameter "Parameter" */ + if (!ax_parameter_get(parameter, "Parameter", &value, &error)) { + goto error_out; + } + syslog(LOG_INFO, "The value of \"Parameter\" is \"%s\"", value); + + /* Remove parameter "ParameterThree" */ + if (!ax_parameter_remove(parameter, "ParameterThree", &error)) { + goto error_out; + } + + /* Set the value of the parameter "Parameter" to "param_set" */ + if (!ax_parameter_set(parameter, "Parameter", "param_set", TRUE, &error)) { + goto error_out; + } + + /* List all parameter belonging to this application */ + list = ax_parameter_list(parameter, &error); + if (list == NULL) { + goto error_out; + } + + list_tmp = list; + while (list_tmp != NULL) { + syslog(LOG_INFO, "Parameter in list: \"%s\"", (gchar*)list_tmp->data); + list_tmp = g_list_next(list_tmp); + } + + /* free the list and it's members */ + list_tmp = list; + while (list_tmp != NULL) { + /* free the string */ + g_free(list_tmp->data); + list_tmp = g_list_next(list_tmp); + } + g_list_free(list); + + /* Register a callback, that will be called each time "Parameter" is changed */ + if (!ax_parameter_register_callback(parameter, + "Parameter", + parameter_callback, + NULL, + &error)) { + goto error_out; + } + + /* start the main loop */ + g_main_loop_run(loop); + + /* unref the main loop when the main loop has been quit */ + g_main_loop_unref(loop); + +error_out: + + if (error) { + syslog(LOG_INFO, "Failed %s", error->message); + g_error_free(error); + } + + /* clean up */ + g_free(value); + ax_parameter_free(parameter); + + syslog(LOG_INFO, "Quitting %s", APP_NAME); + + return 0; +} diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/examples/package.conf b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/package.conf new file mode 100644 index 0000000..be0f8b2 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/package.conf @@ -0,0 +1,25 @@ +PACKAGENAME="parameterApp" +MENUNAME="" +APPTYPE="armv7hf" +APPNAME="parameterApp" +APPID="" +LICENSENAME="Proprietary" +LICENSEPAGE="none" +LICENSE_CHECK_ARGS="" +VENDOR="-" +REQEMBDEVVERSION="2.0" +APPMAJORVERSION="1" +APPMINORVERSION="0" +APPMICROVERSION="" +APPGRP="sdk" +APPUSR="sdk" +APPOPTS="" +OTHERFILES="" +SETTINGSPAGEFILE="" +SETTINGSPAGETEXT="" +VENDORHOMEPAGELINK='' +PREUPGRADESCRIPT="" +POSTINSTALLSCRIPT="" +STARTMODE="never" +HTTPCGIPATHS="" +AUTOSTART="" diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/examples/param.conf b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/param.conf new file mode 100644 index 0000000..a6aab87 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/examples/param.conf @@ -0,0 +1,4 @@ +# Static parameters. File must end with empty line +StaticParam1="oldvalue" +HiddenParam1="secret" type="hidden:string" + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h.html new file mode 100644 index 0000000..a796605 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h.html @@ -0,0 +1,583 @@ + + + + + + + +AXParameter: ax_parameter.h File Reference + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+ +
+
ax_parameter.h File Reference
+
+
+ +

AXParameter and its associated functions. Contains functions for adding, removing, setting and getting parameters. The interface supports registering callback functions when a parameter value is updated. +More...

+ +

Go to the source code of this file.

+ + + + + + + + +

+Typedefs

+typedef struct _AXParameter AXParameter
 Opaque structure for the AXParameter.
 
typedef void() AXParameterCallback(const gchar *name, const gchar *value, gpointer data)
 The typedef for a callback function registered by ax_parameter_register_callback() More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

AXParameterax_parameter_new (const gchar *app_name, GError **error)
 Creates a new AXParameter. More...
 
void ax_parameter_free (AXParameter *parameter)
 Frees an AXParameter. More...
 
gboolean ax_parameter_add (AXParameter *parameter, const gchar *name, const gchar *initial_value, const gchar *type, GError **error)
 Adds a new parameter. Returns failure if the parameter already exists. More...
 
gboolean ax_parameter_remove (AXParameter *parameter, const gchar *name, GError **error)
 Removes a parameter. Returns FALSE if the parameter doesn't exist. More...
 
gboolean ax_parameter_set (AXParameter *parameter, const gchar *name, const gchar *value, gboolean do_sync, GError **error)
 Sets the value of a parameter. More...
 
gboolean ax_parameter_get (AXParameter *parameter, const gchar *name, gchar **value, GError **error)
 Retrieves the value of a parameter. More...
 
GList * ax_parameter_list (AXParameter *parameter, GError **error)
 Lists all parameters for the application. The returned list and its members must be freed by the caller. Use g_free for the members and g_list_free for the list. More...
 
gboolean ax_parameter_register_callback (AXParameter *parameter, const gchar *name, AXParameterCallback *callback, gpointer userdata, GError **error)
 Registers a callback function to be run whenever a parameter value is updated. More...
 
void ax_parameter_unregister_callback (AXParameter *parameter, const gchar *name)
 Unregisters the parameter callback function. More...
 
+

Detailed Description

+

AXParameter and its associated functions. Contains functions for adding, removing, setting and getting parameters. The interface supports registering callback functions when a parameter value is updated.

+

+Parameters

+

For an application only one AXParameter instance should be created and shared globally.

+

Callback functions should avoid blocking calls, i.e. never call any axparameter method as this will very likely lead to a deadlock. In other words, there may only be one axparameter call at the time. A better way to handle updates of other parameters from a callback is to use a global data object that gets updated.

+

+Parameter Types

+

These are parameter types possible to set with ax_parameter_add

+

Typedef Documentation

+ +

◆ AXParameterCallback

+ +
+
+ + + + +
typedef void() AXParameterCallback(const gchar *name, const gchar *value, gpointer data)
+
+ +

The typedef for a callback function registered by ax_parameter_register_callback()

+
Parameters
+ + + + +
nameName of the updated parameter.
valueValue of the updated parameter.
dataUser data to be passed to the callback.
+
+
+ +
+
+

Function Documentation

+ +

◆ ax_parameter_new()

+ +
+
+ + + + + + + + + + + + + + + + + + +
AXParameter* ax_parameter_new (const gchar * app_name,
GError ** error 
)
+
+ +

Creates a new AXParameter.

+
Parameters
+ + + +
app_nameThe name of the application. Must match APPNAME in package.conf. Make sure to only create one AXParameter, see more info in Parameters
errorReturn location for a GError or NULL.
+
+
+
Returns
A new AXParameter.
+
Examples:
axparameterexample.c.
+
+
+
+ +

◆ ax_parameter_free()

+ +
+
+ + + + + + + + +
void ax_parameter_free (AXParameterparameter)
+
+ +

Frees an AXParameter.

+
Parameters
+ + +
parameterAn AXParameter.
+
+
+
Examples:
axparameterexample.c.
+
+
+
+ +

◆ ax_parameter_add()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gboolean ax_parameter_add (AXParameterparameter,
const gchar * name,
const gchar * initial_value,
const gchar * type,
GError ** error 
)
+
+ +

Adds a new parameter. Returns failure if the parameter already exists.

+
Parameters
+ + + + + + +
parameterAn AXParameter.
nameName of the parameter to be added.
initial_valueInitial value of the parameter. Passing NULL will set the parameter to an empty string.
typeParameter type. Passing NULL will set the type to "string". The parameters are for plain config generation and are not validated. For other allowed types, see Parameter Types
errorReturn the location for a GError or NULL.
+
+
+
Returns
TRUE if a parameter could be added, FALSE otherwise.
+
Examples:
axparameterexample.c.
+
+
+
+ +

◆ ax_parameter_remove()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gboolean ax_parameter_remove (AXParameterparameter,
const gchar * name,
GError ** error 
)
+
+ +

Removes a parameter. Returns FALSE if the parameter doesn't exist.

+
Parameters
+ + + + +
parameterAn AXParameter.
nameName of the parameter to be removed.
errorReturn the location for a GError or NULL.
+
+
+
Returns
TRUE if a parameter could be removed, FALSE otherwise.
+
Examples:
axparameterexample.c.
+
+
+
+ +

◆ ax_parameter_set()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gboolean ax_parameter_set (AXParameterparameter,
const gchar * name,
const gchar * value,
gboolean do_sync,
GError ** error 
)
+
+ +

Sets the value of a parameter.

+
Parameters
+ + + + + + +
parameterAn AXParameter.
nameName of the parameter. Using only the parameter name will set a parameter in the group that belongs to the application. Using the complete path (root.Group.Name) will set any parameter in the Axis product provided that the application has proper access rights to the parameter.
valueValue to set the parameter to. Passing NULL will set the value to an empty string.
do_syncIf set to FALSE, the change won't be written to file and callbacks won't be run until a new ax_parameter_set() with do_sync set to TRUE is sent. This is recommended when updating several parameters at the same time.
errorReturn the location for a GError or NULL.
+
+
+
Returns
TRUE if the parameter could be set, FALSE otherwise.
+
Examples:
axparameterexample.c.
+
+
+
+ +

◆ ax_parameter_get()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gboolean ax_parameter_get (AXParameterparameter,
const gchar * name,
gchar ** value,
GError ** error 
)
+
+ +

Retrieves the value of a parameter.

+
Parameters
+ + + + + +
parameterAn AXParameter.
nameName of the parameter. Using only the parameter name will retrieve a parameter from the group that belongs to the application. Using the complete path (root.Group.Name) will retrieve any parameter in the Axis product provided that the application has proper access rights to the parameter.
valueAddress of a character pointer. The function will allocate memory for the new value and set the provided pointer to the address of this location. This pointer should be freed by the caller. Use g_free to release the allocated storage when it is no longer needed.
errorReturn the location for a GError or NULL.
+
+
+
Returns
TRUE if a parameter could be retrieved, FALSE otherwise.
+
Examples:
axparameterexample.c.
+
+
+
+ +

◆ ax_parameter_list()

+ +
+
+ + + + + + + + + + + + + + + + + + +
GList* ax_parameter_list (AXParameterparameter,
GError ** error 
)
+
+ +

Lists all parameters for the application. The returned list and its members must be freed by the caller. Use g_free for the members and g_list_free for the list.

+
Parameters
+ + + +
parameterAn AXParameter.
errorReturn the location for a GError or NULL.
+
+
+
Returns
A GList of allocated strings or NULL if empty.
+
Examples:
axparameterexample.c.
+
+
+
+ +

◆ ax_parameter_register_callback()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gboolean ax_parameter_register_callback (AXParameterparameter,
const gchar * name,
AXParameterCallbackcallback,
gpointer userdata,
GError ** error 
)
+
+ +

Registers a callback function to be run whenever a parameter value is updated.

+
Parameters
+ + + + + + +
parameterAn AXParameter.
nameName of the parameter.
callbackThe callback function to be run when the parameter is updated.
userdataUserdata to be passed to the callback or NULL.
errorReturn the location for a GError or NULL.
+
+
+
Returns
TRUE if a callback could be registered, FALSE otherwise.
+
Examples:
axparameterexample.c.
+
+
+
+ +

◆ ax_parameter_unregister_callback()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ax_parameter_unregister_callback (AXParameterparameter,
const gchar * name 
)
+
+ +

Unregisters the parameter callback function.

+
Parameters
+ + + +
parameterAn AXParameter.
nameName of the parameter.
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h.js b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h.js new file mode 100644 index 0000000..788967b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h.js @@ -0,0 +1,14 @@ +var ax__parameter_8h = +[ + [ "AXParameter", "ax__parameter_8h.html#a454ef604d7741f45804e708a56f7bf24", null ], + [ "AXParameterCallback", "ax__parameter_8h.html#a82ba0fc58e5e8749b1313825b6a7a670", null ], + [ "ax_parameter_new", "ax__parameter_8h.html#adf2eefe79f53d60faede33ba71d5928c", null ], + [ "ax_parameter_free", "ax__parameter_8h.html#a78ff4b5a312a1d9aab120436c116a5a2", null ], + [ "ax_parameter_add", "ax__parameter_8h.html#a9069e0a2a3c64cacd7d50f1408a9f5fa", null ], + [ "ax_parameter_remove", "ax__parameter_8h.html#aa6f49de80979e1f25ea9d98c449ac8c4", null ], + [ "ax_parameter_set", "ax__parameter_8h.html#a3b767bcb3c99edf38b9fab3f38b7f2d7", null ], + [ "ax_parameter_get", "ax__parameter_8h.html#aa7979d96d425189cfbf5fac6539bbc68", null ], + [ "ax_parameter_list", "ax__parameter_8h.html#ace7b30d51c85d90509de80086b00d655", null ], + [ "ax_parameter_register_callback", "ax__parameter_8h.html#a43ae8096bdcad55ff26bf13eadc3b781", null ], + [ "ax_parameter_unregister_callback", "ax__parameter_8h.html#a4e3b5330dfbe45fad22753c83a1ee065", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h_source.html new file mode 100644 index 0000000..d5ae8cd --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter_8h_source.html @@ -0,0 +1,89 @@ + + + + + + + +AXParameter: ax_parameter.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
ax_parameter.h
+
+
+Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2013 Axis Communications AB
3  */
4 
5 #ifndef _AXPARAMETER_H
6 #define _AXPARAMETER_H
7 
8 #include <glib.h>
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
94 typedef struct _AXParameter AXParameter;
95 
104 typedef void (AXParameterCallback)(const gchar *name, const gchar *value, gpointer data);
105 
106 
118 AXParameter* ax_parameter_new(const gchar *app_name, GError **error);
119 
120 
126 void ax_parameter_free(AXParameter *parameter);
127 
146 gboolean ax_parameter_add(AXParameter *parameter, const gchar *name,
147  const gchar *initial_value, const gchar *type,
148  GError **error);
149 
161 gboolean ax_parameter_remove(AXParameter *parameter, const gchar *name,
162  GError **error);
163 
186 gboolean ax_parameter_set(AXParameter *parameter, const gchar *name,
187  const gchar *value, gboolean do_sync, GError **error);
188 
208 gboolean ax_parameter_get(AXParameter *parameter, const gchar *name,
209  gchar **value, GError **error);
210 
222 GList* ax_parameter_list(AXParameter *parameter, GError **error);
223 
224 
241 gboolean ax_parameter_register_callback(AXParameter *parameter, const gchar *name,
242  AXParameterCallback *callback,
243  gpointer userdata, GError **error);
244 
253 void ax_parameter_unregister_callback(AXParameter *parameter, const gchar *name);
254 
255 
256 #ifdef __cplusplus
257 }
258 #endif
259 
260 #endif
gboolean ax_parameter_get(AXParameter *parameter, const gchar *name, gchar **value, GError **error)
Retrieves the value of a parameter.
+
void ax_parameter_unregister_callback(AXParameter *parameter, const gchar *name)
Unregisters the parameter callback function.
+
struct _AXParameter AXParameter
Opaque structure for the AXParameter.
Definition: ax_parameter.h:94
+
gboolean ax_parameter_add(AXParameter *parameter, const gchar *name, const gchar *initial_value, const gchar *type, GError **error)
Adds a new parameter. Returns failure if the parameter already exists.
+
gboolean ax_parameter_set(AXParameter *parameter, const gchar *name, const gchar *value, gboolean do_sync, GError **error)
Sets the value of a parameter.
+
gboolean ax_parameter_register_callback(AXParameter *parameter, const gchar *name, AXParameterCallback *callback, gpointer userdata, GError **error)
Registers a callback function to be run whenever a parameter value is updated.
+
gboolean ax_parameter_remove(AXParameter *parameter, const gchar *name, GError **error)
Removes a parameter. Returns FALSE if the parameter doesn&#39;t exist.
+
void() AXParameterCallback(const gchar *name, const gchar *value, gpointer data)
The typedef for a callback function registered by ax_parameter_register_callback() ...
Definition: ax_parameter.h:104
+
void ax_parameter_free(AXParameter *parameter)
Frees an AXParameter.
+
GList * ax_parameter_list(AXParameter *parameter, GError **error)
Lists all parameters for the application. The returned list and its members must be freed by the call...
+
AXParameter * ax_parameter_new(const gchar *app_name, GError **error)
Creates a new AXParameter.
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h.html new file mode 100644 index 0000000..341c759 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h.html @@ -0,0 +1,195 @@ + + + + + + + +AXParameter: ax_parameter_error.h File Reference + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+ +
+
ax_parameter_error.h File Reference
+
+
+ +

AXParameter error codes. +More...

+ +

Go to the source code of this file.

+ + + + +

+Macros

+#define AX_PARAMETER_ERROR
 
+ + + +

+Enumerations

enum  AXParameterErrorCode {
+  AX_PARAMETER_INVALID_ARG_ERROR, +AX_PARAMETER_FILE_FD_ERROR, +AX_PARAMETER_FILE_LOCK_ERROR, +AX_PARAMETER_FILE_OPEN_ERROR, +
+  AX_PARAMETER_FILE_FORMAT_ERROR, +AX_PARAMETER_FILE_CREATE_ERROR, +AX_PARAMETER_FILE_WRITE_ERROR, +AX_PARAMETER_FILE_LINK_ERROR, +
+  AX_PARAMETER_PARAM_LIST_ERROR, +AX_PARAMETER_PARAM_GET_ERROR, +AX_PARAMETER_PARAM_PATH_ERROR, +AX_PARAMETER_PARAM_SYNC_ERROR, +
+  AX_PARAMETER_PARAM_EXIST_ERROR, +AX_PARAMETER_PARAM_ADDED_ERROR, +AX_PARAMETER_PARAM_READ_GROUP_ERROR, +AX_PARAMETER_PARAM_SET_ERROR, +
+  AX_PARAMETER_DBUS_SETUP_ERROR, +AX_PARAMETER_FILE_UNLINK_ERROR, +AX_PARAMETER_FILE_PATH_ERROR, +AX_PARAMETER_FILE_SYNC_ERROR, +
+  AX_PARAMETER_FILE_RENAME_ERROR +
+ }
 
+ + + +

+Functions

+GQuark ax_parameter_error_quark (void)
 
+

Detailed Description

+

AXParameter error codes.

+

Enumeration Type Documentation

+ +

◆ AXParameterErrorCode

+ +
+
+ + + + +
enum AXParameterErrorCode
+
+

Specifies the available error codes

+ + + + + + + + + + + + + + + + + + + + + + +
Enumerator
AX_PARAMETER_INVALID_ARG_ERROR 

An argument is invalid

+
AX_PARAMETER_FILE_FD_ERROR 

File descriptor error

+
AX_PARAMETER_FILE_LOCK_ERROR 

File lock

+
AX_PARAMETER_FILE_OPEN_ERROR 

File open

+
AX_PARAMETER_FILE_FORMAT_ERROR 

File is badly formatted

+
AX_PARAMETER_FILE_CREATE_ERROR 

File create

+
AX_PARAMETER_FILE_WRITE_ERROR 

File write

+
AX_PARAMETER_FILE_LINK_ERROR 

File link

+
AX_PARAMETER_PARAM_LIST_ERROR 

Parameter handler could not deliver list

+
AX_PARAMETER_PARAM_GET_ERROR 

Parameter handler could not deliver parameter

+
AX_PARAMETER_PARAM_PATH_ERROR 

Invalid parameter path

+
AX_PARAMETER_PARAM_SYNC_ERROR 

Could not sync parameters

+
AX_PARAMETER_PARAM_EXIST_ERROR 

Parameter does not exist

+
AX_PARAMETER_PARAM_ADDED_ERROR 

Parameter was already added or had a preserved value

+
AX_PARAMETER_PARAM_READ_GROUP_ERROR 

Parameter read group error

+
AX_PARAMETER_PARAM_SET_ERROR 

Parameter set error

+
AX_PARAMETER_DBUS_SETUP_ERROR 

Parameter read group error

+
AX_PARAMETER_FILE_UNLINK_ERROR 

File unlink

+
AX_PARAMETER_FILE_PATH_ERROR 

File canonicalize_file_name

+
AX_PARAMETER_FILE_SYNC_ERROR 

File fsync

+
AX_PARAMETER_FILE_RENAME_ERROR 

File rename

+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h.js b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h.js new file mode 100644 index 0000000..080ff6d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h.js @@ -0,0 +1,28 @@ +var ax__parameter__error_8h = +[ + [ "AX_PARAMETER_ERROR", "ax__parameter__error_8h.html#ad1ffed5e05a6fb8e699b44d7edc592f8", null ], + [ "AXParameterErrorCode", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37", [ + [ "AX_PARAMETER_INVALID_ARG_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a4aac61761dbef7de125ee554da1fe3e4", null ], + [ "AX_PARAMETER_FILE_FD_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37ad72c3054b4f5df34d16a74f04db64f22", null ], + [ "AX_PARAMETER_FILE_LOCK_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a3703d85554403078a595f32790687c57", null ], + [ "AX_PARAMETER_FILE_OPEN_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a3d891e0cd01c76093053d9ef9859091c", null ], + [ "AX_PARAMETER_FILE_FORMAT_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a144e70d4bf83470f9317f5f3b1f58fa4", null ], + [ "AX_PARAMETER_FILE_CREATE_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37ab2f0e86c25ff0314308d8985f5fded75", null ], + [ "AX_PARAMETER_FILE_WRITE_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a5bffe25a5178fdb725a2ff929a3fbc9c", null ], + [ "AX_PARAMETER_FILE_LINK_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37aad28a084b2c0dc9fa2d4db91da87bf42", null ], + [ "AX_PARAMETER_PARAM_LIST_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37abb7f895474879a1ae993b31a2c831b60", null ], + [ "AX_PARAMETER_PARAM_GET_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37aaa58435608c597d41d0ac18840beac39", null ], + [ "AX_PARAMETER_PARAM_PATH_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a50f05fd227cada6be8e59456ace6d384", null ], + [ "AX_PARAMETER_PARAM_SYNC_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a60c39f3f36d7ffe26d34b79e34dab5d1", null ], + [ "AX_PARAMETER_PARAM_EXIST_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37adb59dcaa66ef12af82a488f3b4619311", null ], + [ "AX_PARAMETER_PARAM_ADDED_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a06464953e09990a25403f3111dbc85e5", null ], + [ "AX_PARAMETER_PARAM_READ_GROUP_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37ad0e391f8641bf55f9e051a1ca55773bb", null ], + [ "AX_PARAMETER_PARAM_SET_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a8be7dba9a65e8873c373b1cc72d0e72a", null ], + [ "AX_PARAMETER_DBUS_SETUP_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a45df9568d4430d1f3559f0b13b322ac3", null ], + [ "AX_PARAMETER_FILE_UNLINK_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37ad1a29950ef6bb857dbb6a2eebbbb5f4d", null ], + [ "AX_PARAMETER_FILE_PATH_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a5cc24e482048a0082632086f517ce17e", null ], + [ "AX_PARAMETER_FILE_SYNC_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a37d6d65d4b8c1b57d9bb207044797830", null ], + [ "AX_PARAMETER_FILE_RENAME_ERROR", "ax__parameter__error_8h.html#ad8b86e23574970dce5ed65cca520cc37a81cb678552b30d62848b1392ef357e4c", null ] + ] ], + [ "ax_parameter_error_quark", "ax__parameter__error_8h.html#a171a9f70f774bcf6fab82a14fe502c54", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h_source.html new file mode 100644 index 0000000..02badfe --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/ax__parameter__error_8h_source.html @@ -0,0 +1,100 @@ + + + + + + + +AXParameter: ax_parameter_error.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
ax_parameter_error.h
+
+
+Go to the documentation of this file.
1 #ifndef _AX_PARAMETER_ERROR_H_
2 #define _AX_PARAMETER_ERROR_H_
3 
9 #define AX_PARAMETER_ERROR (ax_parameter_error_quark())
10 
11 
16 typedef enum {
44 
45 GQuark
46 ax_parameter_error_quark(void);
47 
48 #endif /* _AX_PARAMETER_ERROR_H_ */
Definition: ax_parameter_error.h:41
+
Definition: ax_parameter_error.h:21
+
Definition: ax_parameter_error.h:20
+
Definition: ax_parameter_error.h:30
+
Definition: ax_parameter_error.h:25
+
Definition: ax_parameter_error.h:23
+
Definition: ax_parameter_error.h:17
+
Definition: ax_parameter_error.h:39
+
Definition: ax_parameter_error.h:28
+
Definition: ax_parameter_error.h:22
+
Definition: ax_parameter_error.h:32
+
Definition: ax_parameter_error.h:42
+
AXParameterErrorCode
Definition: ax_parameter_error.h:16
+
Definition: ax_parameter_error.h:24
+
Definition: ax_parameter_error.h:29
+
Definition: ax_parameter_error.h:35
+
Definition: ax_parameter_error.h:19
+
Definition: ax_parameter_error.h:34
+
Definition: ax_parameter_error.h:33
+
Definition: ax_parameter_error.h:27
+
Definition: ax_parameter_error.h:40
+
Definition: ax_parameter_error.h:37
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/axis-logo.png b/docs/acap-sdk-version-3/api/src/api/axparameter/html/axis-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7afe144721cea33a1b4fd747dd3ea0b77b2b347a GIT binary patch literal 2757 zcmZ{mYdq5p8^`|+tSv0RaGT1Yv4qd*ImzGWz52 zK~KI={_DW_ZyHz_0Kn@sA+E=vgZZ$hnTZjw|8G5SFV8$k1cOY`cmNO*`&T@`lYGg8 zP#_p#VJtAs13to|IOglr1ppvJgpq;Wea26WMc|2UDZ;h7(4c5fz6M{X=Nmg&o5PLs zp$^THpP@qH8Z=~p({J7yg1-LT7{=6%SS-ITkp3=H5$_i&Dy@Y`DgwKlelh6uAao3k zyQl58YtU;u$0H$1q0_hTZ-z~7J*6MI`u~6cDb8?6bJ350?$mMbEv5inq$+5&!vdoWz@l<9Cn|3vbSKmP>y zN0rlDB?6P6Q5GLWZupsgs_^-h-l$kUiF;sYa9qYxjebK!f4Cf>`p@*vzTtbhwkx;d zCEXKjV^(V=+aw+^FSZ&2$C&|r-PS55BspA83%+9;>8gG)3vqUI9?*uZBlM>6yTHjc zvi+LvZ+n`2dSVOf(`vyLt;wW7&DNbq)Z00H+D%!nClXvNZKYHF*5zh9fAab2Y$Cd9 zfk!;w6!v#ZqG;EX!n}FAQ3g_LzUSBa15UMGQBe4%tdx5zO6Lhn7Dy=N*rX7I&vxGZ zpt`pOTb`>VT0Y{p4$;*remujQNj~-gwbhhSnK*k6T4iSCb>SiDVVdfuoZmo5YyUV7 z_!bSC+e#c!&NiZK$vT1iIxo{lr~^$sGb-`tEze3QTBFY7#a?A+I>A)n$U0o7;K-DN z>RsIo#cFR_H?x-Q@bcTl3X60e!G7cq9q++6whm!C{&@ec%gOxgoZdGoQD?;<0o!S- zahi?FSx+AgtN#8)lY`XYj}4X(bnL;qB!kK4NIEyF5pO67JfZ8J1SG{LX$*7c^NgH^_LgpR zbipW$CDXcz9a&~~HVYB08aQrXbMee7u$ZYsi*jIoKiIj-V(4p_=W7+^01aOz=shYN z@q(G=xqVuDt+xl(A3C@QeU;M{O0kf0e8p3K#~O}13XyFQgb#mia*mcIs)fKn; zWn=J8t~CjGmGU!xOuUsCH*F2}xFCJ!%|{259>IG78FQ-+SZd;jU#S9N%8@~~1nhQh z;*1oZK97ETo?*@3yH0P~!bc+TZe0wh)^KfZu@x9s88#RrKGXsZs_Or)?6la_BCGRx`nDUYHh8f1w}t0r6)_RA!R ziP)C3taqFC%xXr6Xtiq%d#lLu2aUZVm$apt#ne|cypIrjyYv$7rp-D+o>-WQk6Ijj zV(&}{;m%@{C%HmDf4M;SW=#wyRkJDF`XEun9^`dQSGDG*FEu8O;Ttz8el{VOQ_=M% z1&UYqDXNP4j2=~^@HyoTbL-|1r8Q2)k}=&b@VDKiKEYUG`6p_ z=fEej^ay84m;h1t9$9%r6ooAjt#;fZFP~<##xE3*KPeUbmd2tVmWiCTU3AP=+z7GM zGEg6SIGKEmpavcP`t(90|I8Didc+;~*G_`(*`Dtr5l7n^*6h+7Pwt{6&|y2^Sr)h4 z^lMa_0>SFXDq^FW;DT%1_Narx7ksaT%zCcujH!QBBe}w>Bpi8&Raw2oH&IG5@JAa* ziEV#%u~$I?3ud2)>A`xLVRfa-NxszUwMm%qe62hvgEw*vC+07vc?qn6RxT@50)km@ zOb5T=gJg1i+YHBvtz_htI=3hQD5pK)-H zeZ&YJ*=ur=Lhm`;khI77?Qg5M2TJN&PTW3ArKv9M7cCwxRcrMZBP7zioZobSo4!Kr zKUW&JJWGid!0ii$QcGZP`4>*RHoF-1^3O_Og>x)uZv$IWKq$^eE6Uqt=LrgpV%M^t z`X^(;lJmIA)?uCO7eV>MA{^gK0pf_Rip7SlU ze?M+6GZ2g^Wm_hE^zw_HZ*aVJvM*h=(fs~|?qW@9b00q5%EQV#fD!l^v8QjW_R*E! zy6#ysb%~%c+h(pOd78^nr%n`j7l!QAp|Wm?Hg+PqVlLXW#{2cDVN4|E81}24e7A0J zAsMk4^&j^Oqwhk{HJ7pjBuCxdZ)DtfN9ZwZyh~MA(c!P(!AmNl%ft8e^nAm@e-GA2 z6`b>@WW4mMzH!gu{(l+n4v017$N}WpueW`JYIIPyIhv2n9<+yx^2VpN$hBMZ^GUmo zVo%>*5i`Foy(q{2Y38YTv6e1M>axQ*)EcNLAo?%XLg)B9@+xC(kThi)vA%E~> zj?o)F`;b!eGO-Tt1T2*OIy)L2i_x7@gr!)WF@L#0%PG5^~um6xEJT>UJG=Q{B z?EuYPOZ`6d=Z*%vRp2THd@ZX6dCS#X`2P4^#LOczWPnXup3Er59mf%P0m)JlDfmOr zaq@Xa8OIUOGiowljg=Ejb$1QuRoWB`><~*KD`eiYzEjuFF9l2KFLZyf+8JDKfcv6Q zPwRDtRKhA&OUrK^ + + + + + + +AXParameter: axparameter.h File Reference + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
axparameter.h File Reference
+
+
+ +

This is the main include file to be used for all applications that want to use the AXParameter library. +More...

+ +

Go to the source code of this file.

+

Detailed Description

+

This is the main include file to be used for all applications that want to use the AXParameter library.

+

+Purpose

+

The AXParameter interface enables data and application settings to be saved so that they are not lost during a reboot or firmware upgrade of the Axis product.
+Parameters specific to the application can be preconfigured when the application is created or be added in runtime.
+In addition, AXParameter makes it possible to define callback functions that perform specific actions if a parameter is updated, for example if the user updates a parameter using the Axis product's web pages.

+

Data which only is used and altered by the application should not be handled by AXParameter. Such data can instead be handled by, for example, GLib GKeyFile.

+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/axparameter_8h_source.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/axparameter_8h_source.html new file mode 100644 index 0000000..a16b368 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/axparameter_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +AXParameter: axparameter.h Source File + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
axparameter.h
+
+
+Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2009 Axis Communications AB
3  */
4 
5 #ifndef _PARAMETER_H
6 #define _PARAMETER_H
7 
25 #include <glib.h>
26 #include <axsdk/ax_parameter/ax_parameter_error.h>
27 #include <axsdk/ax_parameter/ax_parameter.h>
28 
29 #endif
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/axparameterexample_8c-example.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/axparameterexample_8c-example.html new file mode 100644 index 0000000..68e27a1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/axparameterexample_8c-example.html @@ -0,0 +1,78 @@ + + + + + + + +AXParameter: axparameterexample.c + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
axparameterexample.c
+
+
+

axparameterexample.c

+
#include <glib.h>
#include <glib-object.h>
#include <axsdk/axparameter.h>
#include <glib/gprintf.h>
#include <syslog.h>
#include <signal.h>
#define APP_NAME "parameterApp"
static GMainLoop *loop = NULL;
static void
parameter_callback(const gchar *name, const gchar *value, gpointer data)
{
syslog(LOG_INFO, "In Parameter callback");
}
/* Signals handling */
static void
handle_sigterm(int signo)
{
g_main_loop_quit(loop);
}
static void
init_signals(void)
{
struct sigaction sa;
sa.sa_flags = 0;
sigemptyset(&sa.sa_mask);
sa.sa_handler = handle_sigterm;
sigaction(SIGTERM, &sa, NULL);
sigaction(SIGINT, &sa, NULL);
}
gint
main(gint argc, gchar *argv[])
{
AXParameter *parameter = NULL;
GError *error = NULL;
gchar *value = NULL;
GList *list = NULL;
GList *list_tmp = NULL;
init_signals();
openlog(APP_NAME, LOG_PID, LOG_LOCAL4);
loop = g_main_loop_new(NULL, FALSE);
syslog(LOG_INFO, "Starting %s", APP_NAME);
/* New parameter instance is created */
parameter = ax_parameter_new(APP_NAME, &error);
if (parameter == NULL) {
goto error_out;
}
/* Add parameter "Parameter" */
if (!ax_parameter_add(parameter, "Parameter", "param", NULL, &error)) {
if (error->code == AX_PARAMETER_PARAM_ADDED_ERROR) {
/* parameter is already added. Nothing to care about */
g_error_free(error);
error = NULL;
} else {
goto error_out;
}
}
/* Add parameter "ParameterTwo" */
if (!ax_parameter_add(parameter, "ParameterTwo", "param_two", NULL, &error)) {
if (error->code == AX_PARAMETER_PARAM_ADDED_ERROR) {
/* parameter is already added. Nothing to care about */
g_error_free(error);
error = NULL;
} else {
goto error_out;
}
}
/* Add parameter "ParameterThree" */
if (!ax_parameter_add(parameter, "ParameterThree", "param_three", NULL,
&error)) {
if (error->code == AX_PARAMETER_PARAM_ADDED_ERROR) {
/* parameter is already added. Nothing to care about */
g_error_free(error);
error = NULL;
} else {
goto error_out;
}
}
/* Get the value of the parameter "Parameter" */
if (!ax_parameter_get(parameter, "Parameter", &value, &error)) {
goto error_out;
}
syslog(LOG_INFO, "The value of \"Parameter\" is \"%s\"", value);
/* Remove parameter "ParameterThree" */
if (!ax_parameter_remove(parameter, "ParameterThree", &error)) {
goto error_out;
}
/* Set the value of the parameter "Parameter" to "param_set" */
if (!ax_parameter_set(parameter, "Parameter", "param_set", TRUE, &error)) {
goto error_out;
}
/* List all parameter belonging to this application */
list = ax_parameter_list(parameter, &error);
if (list == NULL) {
goto error_out;
}
list_tmp = list;
while (list_tmp != NULL) {
syslog(LOG_INFO, "Parameter in list: \"%s\"", (gchar*)list_tmp->data);
list_tmp = g_list_next(list_tmp);
}
/* free the list and it's members */
list_tmp = list;
while (list_tmp != NULL) {
/* free the string */
g_free(list_tmp->data);
list_tmp = g_list_next(list_tmp);
}
g_list_free(list);
/* Register a callback, that will be called each time "Parameter" is changed */
"Parameter",
parameter_callback,
NULL,
&error)) {
goto error_out;
}
/* start the main loop */
g_main_loop_run(loop);
/* unref the main loop when the main loop has been quit */
g_main_loop_unref(loop);
error_out:
if (error) {
syslog(LOG_INFO, "Failed %s", error->message);
g_error_free(error);
}
/* clean up */
g_free(value);
ax_parameter_free(parameter);
syslog(LOG_INFO, "Quitting %s", APP_NAME);
return 0;
}
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/bc_s.png b/docs/acap-sdk-version-3/api/src/api/axparameter/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1509827fe5636dc2b11c86d5efb48dd040b5d2 GIT binary patch literal 650 zcmV;50(Jd~P)CnOkW$x^-3TQ^zug z9A~%GRj9wKbn?R-$9>U_!8Ybco96b8N2pcHy(J5gh!zt>F^hyrk5FA&=q1EO(U(Wk zJ`OGRKZ3hH>Uvb>C>=+YGQF9;1^^7)9!{fD3@2M4OK;`?fI)x|?mMb*gpf02vGNbW zT~B3MiTnM5I;oV3008~_qR;2QuPEv_n!Yg#0MNf5g~Q=v*ysu=FU$e}1BC$D)T4u* zM@VV@B>*sZ5R{}$Pzr6>O*27W&&>b;gHM`fgi!vr)ofJBd~v$>@|+<0rc^cZ6ED3< z($UdGFX2fjBnQ!cS*PW!dxmKr9CR)R2*+Iz1OeLZcCPcBrczfsgu8)&bOinR!Lk~; zt{-M+@}2yvrW*lNxsKhhb{#d6yyC|5X#E6^cHg$l3C5EzraiU1qN*p6l(VhoGv>!h zCN3NJ*(Rlstl@dA)!N%<2#MiK_E)H!3HEvS)PKZa8DP5Y1p3AV;mdKI;Vst08RHZO#lD@ literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/closed.png b/docs/acap-sdk-version-3/api/src/api/axparameter/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..8be2d7b0ec3d8e504d722bd3249dfef20c145ab0 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vo}Mm_Ar*{o=N{x`P~>27=QiG_ z^DFMyF_RfFOfDOn&c5qr+{VH%`Qm;~iF5{eezgM;%uBb~+Q)t3ezBqF4!n7C!EEELfL&1o$&=?o~2orby3=>_{g)#mqSL(vJH73NkAOfYO zv<3SywbT0ETQFj0aA8=u>dAcc_C5E!=RLh!qu=iXTo_D%i^PQ!L;(IorBd$qdOdu< ztDk#*56^4U@jPPjI94P=JQgSAI5^IT0T2eOP$&SLLAkVFNTwX3(U?X=3Pz$)xkhQX zo7lFElTORJBBp5-Y&-D+AP9j9Ow+(H27o@6Wy!sXdUBjJ$HzxZOy*!5ihH}Vg1+l! z0+ob%@H>fuX_}%!6iI99wW?l|N~MKpipoKWX0s7Ej-do<$Ev8b;N;%WN}|%H^vEb5 zKfL4p+c$juvPGxkDFT2Y1bT2(uN6|_f!cYi)zk!0@xW`hML`TlcCK2LNF=rCtyTk5 z*0`DMkQad-3|cf0cTnC(g)uihOR>0v-|b>cVat+&?iigPo?hqsKEM#pX_4x^$?V($ za)x_tma2vwj=R0>qViK!gRD{I`mwaLQbGTE_9EUnz& z_U64`UI7H*90h~0?e1(#kjgTG%7f~V2RhLJA^6J_4Ln$q-OuFb0zEiQJU|cv6{x9D zKT>Cr%7Y5k$v0YodLNU&jF^P(bTeTGS17^jm(Te0d5dHs0T7C&7=L}`8jl`70T@Cc nL4J1Lc>4Smz(3>vKQey;u(G`oh?v!A00000NkvXXu0mjfF@8vB literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/doxygen.css b/docs/acap-sdk-version-3/api/src/api/axparameter/html/doxygen.css new file mode 100644 index 0000000..db3f76e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #C8C7C2; + color: #8A877C; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #959288; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #A29F96; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #D2D1CD; + color: #ffffff; + border: 1px double #C8C6C1; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FDFDFD; + border: 1px solid #E5E4E2; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #F6F6F5; + font-weight: bold; + border: 1px solid #E5E4E2; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #F6F6F5; + border: 1px solid #E5E4E2; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #F7F7F6; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #FBFBFB; + border-left: 2px solid #D2D1CD; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #D6D5D1; +} + +th.dirtab { + background: #F6F6F5; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #A6A49B; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FCFCFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #A29F96; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #F2F2F1; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #A29F96; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 0px 6px 0px; + color: #6E6B62; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #F1F1EF; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 10px 2px 10px; + background-color: #FDFDFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #BEBCB6; + border-top:1px solid #AEABA3; + border-left:1px solid #AEABA3; + border-right:1px solid #E5E4E2; + border-bottom:1px solid #E5E4E2; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #D2D1CD; + border-bottom: 1px solid #D2D1CD; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #FBFBFB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #959288; +} + +.arrow { + color: #D2D1CD; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #BEBCB6; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #78756B; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #D8D7D3; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #D8D7D3; + border-bottom: 1px solid #D8D7D3; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #D8D7D3; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #F2F2F1; + font-size: 90%; + color: #6E6B62; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #D8D7D3; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#CAC8C3; + border:solid 1px #E4E3E1; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#8B887D; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #757168; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#B9B6B0; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#8B887D; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FCFCFC; + margin: 0px; + border-bottom: 1px solid #E5E4E2; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #AEABA3; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #CDCBC6; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#878378; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #FAFAFA; + border: 1px solid #EEEDEC; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #A29F96; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/doxygen.png b/docs/acap-sdk-version-3/api/src/api/axparameter/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..69a921c279e71363b64e6868642ba060f2060323 GIT binary patch literal 3811 zcmV<94jl1`P)W+@m)6{PS0tMorm{%*R%Jx-gSG|?_F#C zYgJ!g4*;zM0FNL&1^}%D0FNeFO`RM901rcY0P39s0IdW7Kc7-}y$=A*k~IK41SO6d zE8gT9sn9qb9?}3B>;FZSy=%<^VAeTjzk6`z4%@9?*L>7pTxR4 zA`g*uo^7P0?oP3gV?W*i)cYjK)mg|%aY&2pNw%BRYsxmA=QI%~+h$p|nc0Nx^Q6Z- z0MHQW2Z=uTuF_&3d{>RHW@5Tdaz)`&Uga3r7W-viDKyuGoHqr~N+%~rbHGb~K#!h% z1V-(p8vSRV9&8by$cV6cJgb6(gFReayQ5Plr-mr5U&Y0mDh|*@pUK<*n*KJ)I+CAS zFR#7;lwDF%%yPaYb4s+C=C&w`2K$V_ z{rgP=#C)S+@=DeXn>ro#_WV$k#rpmFdt=y$=RDGPZd*;kc1li3TTVJTqxEC;u5QYM zJ^fW7HgDQ!B%4ueGblL7IQAueTn+2)-8)zjyAUr2PeQNWUNZmCXMaap+Aag>B`_8N z0l&w{=U$Z0OV5?y@Zlo{@?A!WIyfzImPTKSk?pJR&UQ=7DuYD3@;zUfFcnX9c?tkD z#CCWM^&1tmWBZ?j$lqAHD}&_C;7kdhDa+PWpNIF5VMZTc|3-1_N=-5nNJRuvs@2rV zAwpYYgqJLR1NIKu1Oq@*G(GZ<{L_wTT#p{z_eL*RrnwvdSP~~7al>0EFRz-&-{f=e z@;Bl&dYK=j;qM1Oi6@(8OPjk=w<0g^X#Dt~AoJLlUY7Y+E`N)drRJh-+u!x0xUyqj zU#S89;Kv8BKQl9m{thri8jU_fM*u*Jbm;R>ke-$nLv|C$Za9IH6!E7ynwZ%4ojbRo z_Sf(z&R~7~>P*rNBVGN75q{ZI!e;S6$nfHef#_&wPZe>$A(?mX;CTLF zR99EP&CL`3qsIV1Q)HYF8i6)#Y-C+_kay@);s1z{zm;Db%dqUKxE02vjR(drw=zo!M1G!cswGA7eq0MGpb(WSIY5a%2gN2kEAEvhwh=HDsq%6sANt2Mh`oC z2U+NogIUNrkQGmVxkR(y*}4OOvS-hj#y?(k=@OH9h0MQq_b%RCxdhj)-4N=zb7zO7 z*yU?rV{0qRB*d>kMMbq2**s5n5+kNX8aZ)l8*2G~Uil8oV_)M$OeCFZ(n()nG7B?A zT8DH03w!tMi5WBI`8aNY@?0oAiwz0!JQGe%3=NI*AEi9B3pJHk{ni_d9=9-^<+)^& zhd0?xZ_cjB@|Zb$j-g+F5f80?(eU9zvnNea#_7%PZyY)S?ICb=Qx%`^MGXUzX^YrYcIjgR!V5gZ|lD4Pvcht^gxQ$7RTig5Zy%$6B!eAvi(?iIF4;bK; z6ghn!0BA^*jVD?8v4}dg>o#n5v{hBwir7UkEsBA<6EKew;mjS$ykwcan`^@$=d~wo zJB}SY9!R!x9uy}h*-{q(S|U{*6PnAh2vBx&u?YYT9qN-kagxxogmv*k71qVC)&TVO zrmX;!J#Vfs@M1zjLgI$|E0;QQ_)}zLWWs=G^qXDRQPFd+$!_!^^WJce912y_|F33qdzL)yk$?0)nc1XPD z;%rLyLa=I*->+YJbEbeB4bY~3XY!$B$*sKA4mT88fVNG z`Z@qu(nnbt`26$Sc#_w&Inu3NwI;!_DZP6%yOu67)sYUjH{mND*rT%Yf)_u6 z=JF&}&;pZL-<9T^WsVpip&PuuBF@9k&R!NcdgOEL&&(|1|2{s0bRiR_0#NoM(_CRT zQy{eq&9ShtQIeFp;~f+ieXC!L zSOfLQ6Sz9Vq@ z)JaLd$kI3a-MC?$43K3GGTz&X?YFppNI##cCvOOyHLuO1fOt9D|M?z|lWO%mM%nef;4E$jv<*MzWczn2(wlFVi)3 z9{{kVd%3{%SG0KtmM^eH^}pd;wV`b zyTU^)$MG(YeXWk1X-_K#L^l zGeCm}>#~DGrpRZtmuj#naia{--01mw=dMZx?aSDO6DNvffOxHZ;e|0~KkBnKHa414 z{M&&H%$O|zBCn-O7775ZTC<-2hdVgfC5?MI7*9Xb4*(j`*)v~Lu={Z1#?6`Zd4S|= zXGP72x~&!*JA|yPza^8+XtFua>zQ5z;B)}WPTRQ+C1*;sevsY>AOR%TZqDX`6ezFj z*RCQj?mP(gI=LH&9~M9P*M3N;+@GB-vIy`5!uwyPbXDA8a)aCXpW>R27snW0Lad+LpuGR1OUGxn)AaC zKQ5ddHLrVTr^jXH=~IRH=)(_TYiq+Vauku=SAP8Q_S*pg0ka1U@oNJB4!^>3Z0MP8J%5vl#%7wM{Z?b>W2Wuy%Cp4|`+Ep6v)#q{g^eNo<{$`SmO`CE$ znnmD@`cHuaK(pl**SlBGUsa1cS6Y^S_wGH8GFkI&^41n8B1*+qSmo*r5YD+I7H{D_70zg2+TRw1Wu%{sTn!6Iz@E z5D)d90Pz2SsH7U^F97^Z;{Ng^kvjnVA5j?rlw+N`>wW&n5eWcV2>>1udJF(s2>>2V Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/dynsections.js b/docs/acap-sdk-version-3/api/src/api/axparameter/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +AXParameter: Examples + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
Examples
+
+
+
Here is a list of all examples:
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/examples.js b/docs/acap-sdk-version-3/api/src/api/axparameter/html/examples.js new file mode 100644 index 0000000..614f1b4 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/examples.js @@ -0,0 +1,4 @@ +var examples = +[ + [ "axparameterexample.c", "axparameterexample_8c-example.html", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/files.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/files.html new file mode 100644 index 0000000..1e7e19f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/files.html @@ -0,0 +1,84 @@ + + + + + + + +AXParameter: File List + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + + + +
 ax_parameter.hAXParameter and its associated functions. Contains functions for adding, removing, setting and getting parameters. The interface supports registering callback functions when a parameter value is updated
 ax_parameter_error.hAXParameter error codes
 axparameter.hThis is the main include file to be used for all applications that want to use the AXParameter library
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/files.js b/docs/acap-sdk-version-3/api/src/api/axparameter/html/files.js new file mode 100644 index 0000000..ec992bb --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/files.js @@ -0,0 +1,6 @@ +var files = +[ + [ "ax_parameter.h", "ax__parameter_8h.html", "ax__parameter_8h" ], + [ "ax_parameter_error.h", "ax__parameter__error_8h.html", "ax__parameter__error_8h" ], + [ "axparameter.h", "axparameter_8h.html", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/folderclosed.png b/docs/acap-sdk-version-3/api/src/api/axparameter/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..32f346dfdd52aca9b97ecdbd5a7d2eb71d5431e4 GIT binary patch literal 583 zcmV-N0=WH&P)!A1!UctQj_=)>@jY|znHjfCN(lg4g8=~B#MTLR0HBD`=$D*cUjfKktKEg) z8!!NP3|10Q@P^$=-x*_=-b{!903HQa6#2*ZQ+fC2H|%CR4Nh}zZ>RCQdZc>D=0DU| zt3JWOi&xq}WjGuH$lA~Iv*Gjom$1}it6GD#SB?BuvjbaYMZ{$5^#6>T;|sh#e5Z+A zA~^Z_MS6aq{W$Zf-jrFqvyv=g0t1t)ks^4%iQu#BbiFhH85J+JBq$L8fDVS6>r1?O z`#~ElX+UCy;r&vBa-fJf(LXx`UwR3ciwH zJ`c0iJg`Y39dd(4fpE<^kV>p^uCjWdhqsy9)psN>_#5Y}vhFz&*duJul#n z=X1yHDfqnW_`KtI+);4dfV*m(;PnRF5Bj{_ak*)lpVnqzS+$P<@UQUy|D$c4;4i2n V{UzU_>T>`9002ovPDHLkV1jg!4EO*5 literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/folderopen.png b/docs/acap-sdk-version-3/api/src/api/axparameter/html/folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..3d86075e9e8354717712986c13057ce1eae0c6e4 GIT binary patch literal 586 zcmV-Q0=4~#P)FY*etmehFu1r||vFCjhVtZM985et1t$fBrzan(Xs)GU{y3 z)5q-O^yPX32iI@ploX0Q4JUBD7CZ*uXQRKFfZHv$=fiOs98Zk45yD;(p7SepXcj>RPj4q+%5{DR(bf$cF2}Qts zKE>_h2jv7Oub$Cbt)A9EcF1x^rBe}omd5#fhU2>r%L!h;d`c~=mcP7YtLE~<3GUo` zRNkg3^Evh^u>=69pls9e=o^6S;b{_uOkAmKK2}T<0CFfO*z5I4|L`VZzeuuw&?mue zj|4kC((de#_I5zFu6D>)yF<3wyc_I^eSW8R?T~c3y97Y)DJW>Qt~>^SzlHz*XaG=( Y-&=9_qAhf1ng9R*07*qoM6N<$g53QY82|tP literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals.html new file mode 100644 index 0000000..ccd1593 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals.html @@ -0,0 +1,176 @@ + + + + + + + +AXParameter: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- a -

+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_enum.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_enum.html new file mode 100644 index 0000000..5b4cdb0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_enum.html @@ -0,0 +1,78 @@ + + + + + + + +AXParameter: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_eval.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_eval.html new file mode 100644 index 0000000..35b94df --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_eval.html @@ -0,0 +1,138 @@ + + + + + + + +AXParameter: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_func.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_func.html new file mode 100644 index 0000000..d8e6447 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_func.html @@ -0,0 +1,102 @@ + + + + + + + +AXParameter: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_type.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_type.html new file mode 100644 index 0000000..ade2f16 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/globals_type.html @@ -0,0 +1,81 @@ + + + + + + + +AXParameter: Globals + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/index.html b/docs/acap-sdk-version-3/api/src/api/axparameter/html/index.html new file mode 100644 index 0000000..a2ae42e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/index.html @@ -0,0 +1,77 @@ + + + + + + + +AXParameter: Main Page + + + + + + + + + + + + +
+
+ + + + + + + +
+
AXParameter +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+
+
+
AXParameter Documentation
+
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/axparameter/html/jquery.js b/docs/acap-sdk-version-3/api/src/api/axparameter/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/axparameter/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;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=$(' + + +
+ +
+
bbox.h File Reference
+
+
+ +

A class representing a bbox session. +More...

+
#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+Include dependency graph for bbox.h:
+
+
+ + +
+
+

Go to the source code of this file.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

bbox_t * bbox_new (size_t n_channels,...)
 Create a new bbox object. More...
 
bool bbox_destroy (bbox_t *bbox)
 Destroy the bbox object. More...
 
bool bbox_video_output (bbox_t *bbox, bool enabled)
 Control drawing on video-output. More...
 
bbox_color_t bbox_color_from_rgb (uint8_t r, uint8_t g, uint8_t b)
 Create a new native color from rgb. More...
 
bbox_color_t bbox_color_from_rgba (uint8_t r, uint8_t g, uint8_t b, uint8_t a)
 Create a new native color from rgba. More...
 
bool bbox_clear (bbox_t *bbox)
 Clear all existing bboxes. More...
 
bool bbox_color (bbox_t *bbox, bbox_color_t color)
 Apply color to all new bboxes. More...
 
bool bbox_style_outline (bbox_t *bbox)
 Replace existing style with ┏━━━━━┓ for all new bboxes. More...
 
bool bbox_style_corners (bbox_t *bbox)
 Replace existing style with ┏━   ━┓ for all new bboxes. More...
 
bool bbox_thickness_thin (bbox_t *bbox)
 Change line-thickness to thin for all new bboxes. More...
 
bool bbox_thickness_medium (bbox_t *bbox)
 Change line-thickness to medium for all new bboxes. More...
 
bool bbox_thickness_thick (bbox_t *bbox)
 Change line-thickness to thick for all new bboxes. More...
 
bool bbox_rectangle (bbox_t *bbox, float x1, float y1, float x2, float y2)
 Create a new Rectangle. More...
 
bool bbox_commit (bbox_t *bbox, int64_t timestamp)
 Draw all queued geometry. More...
 
+

Detailed Description

+

A class representing a bbox session.

+

Copyright (C) 2020, Axis Communications AB, Lund

+

Function Documentation

+ +

◆ bbox_clear()

+ +
+
+ + + + + + + + +
bool bbox_clear (bbox_t * bbox)
+
+ +

Clear all existing bboxes.

+
Parameters
+ + +
bboxThe bbox to clear
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_color()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool bbox_color (bbox_t * bbox,
bbox_color_t color 
)
+
+ +

Apply color to all new bboxes.

+
Parameters
+ + + +
bboxThe bbox to color
colorThe color to apply
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_color_from_rgb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bbox_color_t bbox_color_from_rgb (uint8_t r,
uint8_t g,
uint8_t b 
)
+
+ +

Create a new native color from rgb.

+
Parameters
+ + + + +
rRed
gGreen
bBlue
+
+
+
Returns
A bbox_color_t in native format
+ +
+
+ +

◆ bbox_color_from_rgba()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bbox_color_t bbox_color_from_rgba (uint8_t r,
uint8_t g,
uint8_t b,
uint8_t a 
)
+
+ +

Create a new native color from rgba.

+
Parameters
+ + + + + +
rRed
gGreen
bBlue
aAlpha
+
+
+
Returns
A bbox_color_t in native format
+ +
+
+ +

◆ bbox_commit()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool bbox_commit (bbox_t * bbox,
int64_t timestamp 
)
+
+ +

Draw all queued geometry.

+
Parameters
+ + + +
bboxThe bbox object
timestampFrame synchronization timestamp
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_destroy()

+ +
+
+ + + + + + + + +
bool bbox_destroy (bbox_t * bbox)
+
+ +

Destroy the bbox object.

+
Parameters
+ + +
bboxThe bbox to destroy
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_new()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bbox_t* bbox_new (size_t n_channels,
 ... 
)
+
+ +

Create a new bbox object.

+
Parameters
+ + + +
n_channelsNumber of channels on which to draw
...List of bbox_channel_t on which to draw
+
+
+
Returns
A bbox object or NULL on error. Free with bbox_destroy.
+ +
+
+ +

◆ bbox_rectangle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool bbox_rectangle (bbox_t * bbox,
float x1,
float y1,
float x2,
float y2 
)
+
+ +

Create a new Rectangle.

+

The visible coordinates are in the range 0.0 to 1.0. Coordinates outside of this range will be clipped, this can result in partial rectangles being drawn.

+

The effect of this call is delayed until the next bbox_commit

+
Parameters
+ + + + + + +
bboxThe bbox object
x1Left
y1Top
x2Right
y2Bottom
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_style_corners()

+ +
+
+ + + + + + + + +
bool bbox_style_corners (bbox_t * bbox)
+
+ +

Replace existing style with ┏━   ━┓ for all new bboxes.

+
Parameters
+ + +
bboxThe bbox to style
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_style_outline()

+ +
+
+ + + + + + + + +
bool bbox_style_outline (bbox_t * bbox)
+
+ +

Replace existing style with ┏━━━━━┓ for all new bboxes.

+
Parameters
+ + +
bboxThe bbox to style
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_thickness_medium()

+ +
+
+ + + + + + + + +
bool bbox_thickness_medium (bbox_t * bbox)
+
+ +

Change line-thickness to medium for all new bboxes.

+
Parameters
+ + +
bboxThe bbox to change
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_thickness_thick()

+ +
+
+ + + + + + + + +
bool bbox_thickness_thick (bbox_t * bbox)
+
+ +

Change line-thickness to thick for all new bboxes.

+
Parameters
+ + +
bboxThe bbox to change
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_thickness_thin()

+ +
+
+ + + + + + + + +
bool bbox_thickness_thin (bbox_t * bbox)
+
+ +

Change line-thickness to thin for all new bboxes.

+
Parameters
+ + +
bboxThe bbox to change
+
+
+
Returns
Success, check errno on error.
+ +
+
+ +

◆ bbox_video_output()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool bbox_video_output (bbox_t * bbox,
bool enabled 
)
+
+ +

Control drawing on video-output.

+

The effect of this call is delayed until the next bbox_commit

+
Parameters
+ + + +
bboxThe bbox to control
enabledEnable or Disable drawing on video-output
+
+
+
Returns
Success, check errno on error.
+ +
+
+ + + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h.js b/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h.js new file mode 100644 index 0000000..0c10c4d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h.js @@ -0,0 +1,17 @@ +var bbox_8h = +[ + [ "bbox_clear", "bbox_8h.html#a99300493a0a3cc6551e0aa4b2920d055", null ], + [ "bbox_color", "bbox_8h.html#a73bcd533f80091e587dba5009f35d15c", null ], + [ "bbox_color_from_rgb", "bbox_8h.html#a754959ec9753db997867f92749fb9ae0", null ], + [ "bbox_color_from_rgba", "bbox_8h.html#abb400e8a2a0849e43c42252642e563db", null ], + [ "bbox_commit", "bbox_8h.html#af449c9d79b5f9aff75c6d0616965c7f5", null ], + [ "bbox_destroy", "bbox_8h.html#a421de898e60401b8be8bf2670158c45e", null ], + [ "bbox_new", "bbox_8h.html#accaef8fd809f753a12e7ddbb9e12d4ca", null ], + [ "bbox_rectangle", "bbox_8h.html#afc726d9765b6df54356576e03c351508", null ], + [ "bbox_style_corners", "bbox_8h.html#af3ce2935ab9d4f7d9ebdf76ff386fdf8", null ], + [ "bbox_style_outline", "bbox_8h.html#a10d7c0d47d4f77e383b894914f784eba", null ], + [ "bbox_thickness_medium", "bbox_8h.html#ae2d65fa983b47966b674c0a6bdb4397f", null ], + [ "bbox_thickness_thick", "bbox_8h.html#a75c75c99fd0125915b5a6b6b327f3f60", null ], + [ "bbox_thickness_thin", "bbox_8h.html#a886394049d62547f6cbcff3832045490", null ], + [ "bbox_video_output", "bbox_8h.html#afc7b1ba79b6af532384548a06893ad22", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h__incl.dot b/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h__incl.dot new file mode 100644 index 0000000..2c5e594 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h__incl.dot @@ -0,0 +1,12 @@ +digraph "bbox.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="bbox.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node0 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; + Node0 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="stddef.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; + Node0 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="stdbool.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h__incl.md5 b/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h__incl.md5 new file mode 100644 index 0000000..694bbe7 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h__incl.md5 @@ -0,0 +1 @@ +60dd3039a5c3fd8177e339b05cca41e1 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h_source.html b/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h_source.html new file mode 100644 index 0000000..2b04eaf --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/bbox_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +bbox: bbox.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
bbox +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
bbox.h
+
+
+Go to the documentation of this file.
1 #ifndef BBOX_H
2 #define BBOX_H
3 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #include <stdint.h>
17 #include <stddef.h>
18 #include <stdbool.h>
19 
20 typedef struct bbox_t bbox_t;
21 
22 typedef struct {
23 #ifdef __cplusplus
24  private: uint32_t voldemort:32;
25 #else
26  uint32_t:32;
27 #endif
28 } bbox_color_t;
29 
30 typedef uint32_t bbox_channel_t;
31 
40 bbox_t* bbox_new(size_t n_channels, ...);
41 
48 bool bbox_destroy(bbox_t* bbox);
49 
60 bool bbox_video_output(bbox_t* bbox, bool enabled);
61 
71 bbox_color_t bbox_color_from_rgb(uint8_t r, uint8_t g, uint8_t b);
72 
83 bbox_color_t bbox_color_from_rgba(uint8_t r, uint8_t g, uint8_t b, uint8_t a);
84 
91 bool bbox_clear(bbox_t* bbox);
92 
100 bool bbox_color(bbox_t* bbox, bbox_color_t color);
101 
108 bool bbox_style_outline(bbox_t* bbox);
109 
116 bool bbox_style_corners(bbox_t* bbox);
117 
124 bool bbox_thickness_thin(bbox_t* bbox);
125 
132 bool bbox_thickness_medium(bbox_t* bbox);
133 
140 bool bbox_thickness_thick(bbox_t* bbox);
141 
158 bool bbox_rectangle(bbox_t* bbox, float x1, float y1, float x2, float y2);
159 
167 bool bbox_commit(bbox_t* bbox, int64_t timestamp);
168 
169 #ifdef __cplusplus
170 }
171 #endif
172 
173 #endif // BBOX_H
bool bbox_style_outline(bbox_t *bbox)
Replace existing style with ┏━━━━━┓ for all new bboxes.
+
bool bbox_video_output(bbox_t *bbox, bool enabled)
Control drawing on video-output.
+
bool bbox_thickness_medium(bbox_t *bbox)
Change line-thickness to medium for all new bboxes.
+
bool bbox_thickness_thin(bbox_t *bbox)
Change line-thickness to thin for all new bboxes.
+
bool bbox_rectangle(bbox_t *bbox, float x1, float y1, float x2, float y2)
Create a new Rectangle.
+
bool bbox_style_corners(bbox_t *bbox)
Replace existing style with ┏━   ━┓ for all new bboxes.
+
bool bbox_clear(bbox_t *bbox)
Clear all existing bboxes.
+
bool bbox_destroy(bbox_t *bbox)
Destroy the bbox object.
+
bbox_t * bbox_new(size_t n_channels,...)
Create a new bbox object.
+
bbox_color_t bbox_color_from_rgba(uint8_t r, uint8_t g, uint8_t b, uint8_t a)
Create a new native color from rgba.
+
bool bbox_thickness_thick(bbox_t *bbox)
Change line-thickness to thick for all new bboxes.
+
bool bbox_color(bbox_t *bbox, bbox_color_t color)
Apply color to all new bboxes.
+
bool bbox_commit(bbox_t *bbox, int64_t timestamp)
Draw all queued geometry.
+
bbox_color_t bbox_color_from_rgb(uint8_t r, uint8_t g, uint8_t b)
Create a new native color from rgb.
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/bc_s.png b/docs/acap-sdk-version-3/api/src/api/bbox/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1509827fe5636dc2b11c86d5efb48dd040b5d2 GIT binary patch literal 650 zcmV;50(Jd~P)CnOkW$x^-3TQ^zug z9A~%GRj9wKbn?R-$9>U_!8Ybco96b8N2pcHy(J5gh!zt>F^hyrk5FA&=q1EO(U(Wk zJ`OGRKZ3hH>Uvb>C>=+YGQF9;1^^7)9!{fD3@2M4OK;`?fI)x|?mMb*gpf02vGNbW zT~B3MiTnM5I;oV3008~_qR;2QuPEv_n!Yg#0MNf5g~Q=v*ysu=FU$e}1BC$D)T4u* zM@VV@B>*sZ5R{}$Pzr6>O*27W&&>b;gHM`fgi!vr)ofJBd~v$>@|+<0rc^cZ6ED3< z($UdGFX2fjBnQ!cS*PW!dxmKr9CR)R2*+Iz1OeLZcCPcBrczfsgu8)&bOinR!Lk~; zt{-M+@}2yvrW*lNxsKhhb{#d6yyC|5X#E6^cHg$l3C5EzraiU1qN*p6l(VhoGv>!h zCN3NJ*(Rlstl@dA)!N%<2#MiK_E)H!3HEvS)PKZa8DP5Y1p3AV;mdKI;Vst08RHZO#lD@ literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/closed.png b/docs/acap-sdk-version-3/api/src/api/bbox/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..8be2d7b0ec3d8e504d722bd3249dfef20c145ab0 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vo}Mm_Ar*{o=N{x`P~>27=QiG_ z^DFMyF_RfFOfDOn&c5qr+{VH%`Qm;~iF5{eezgM;%uBb~+Q)t3ezBqF4!n7C!EEELfL&1o$&=?o~2orby3=>_{g)#mqSL(vJH73NkAOfYO zv<3SywbT0ETQFj0aA8=u>dAcc_C5E!=RLh!qu=iXTo_D%i^PQ!L;(IorBd$qdOdu< ztDk#*56^4U@jPPjI94P=JQgSAI5^IT0T2eOP$&SLLAkVFNTwX3(U?X=3Pz$)xkhQX zo7lFElTORJBBp5-Y&-D+AP9j9Ow+(H27o@6Wy!sXdUBjJ$HzxZOy*!5ihH}Vg1+l! z0+ob%@H>fuX_}%!6iI99wW?l|N~MKpipoKWX0s7Ej-do<$Ev8b;N;%WN}|%H^vEb5 zKfL4p+c$juvPGxkDFT2Y1bT2(uN6|_f!cYi)zk!0@xW`hML`TlcCK2LNF=rCtyTk5 z*0`DMkQad-3|cf0cTnC(g)uihOR>0v-|b>cVat+&?iigPo?hqsKEM#pX_4x^$?V($ za)x_tma2vwj=R0>qViK!gRD{I`mwaLQbGTE_9EUnz& z_U64`UI7H*90h~0?e1(#kjgTG%7f~V2RhLJA^6J_4Ln$q-OuFb0zEiQJU|cv6{x9D zKT>Cr%7Y5k$v0YodLNU&jF^P(bTeTGS17^jm(Te0d5dHs0T7C&7=L}`8jl`70T@Cc nL4J1Lc>4Smz(3>vKQey;u(G`oh?v!A00000NkvXXu0mjfF@8vB literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/doxygen.css b/docs/acap-sdk-version-3/api/src/api/bbox/html/doxygen.css new file mode 100644 index 0000000..db3f76e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #C8C7C2; + color: #8A877C; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #959288; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #A29F96; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #D2D1CD; + color: #ffffff; + border: 1px double #C8C6C1; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FDFDFD; + border: 1px solid #E5E4E2; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #F6F6F5; + font-weight: bold; + border: 1px solid #E5E4E2; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #F6F6F5; + border: 1px solid #E5E4E2; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #F7F7F6; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #FBFBFB; + border-left: 2px solid #D2D1CD; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #D6D5D1; +} + +th.dirtab { + background: #F6F6F5; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #A6A49B; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FCFCFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #A29F96; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #F2F2F1; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #A29F96; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 0px 6px 0px; + color: #6E6B62; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #F1F1EF; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 10px 2px 10px; + background-color: #FDFDFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #BEBCB6; + border-top:1px solid #AEABA3; + border-left:1px solid #AEABA3; + border-right:1px solid #E5E4E2; + border-bottom:1px solid #E5E4E2; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #D2D1CD; + border-bottom: 1px solid #D2D1CD; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #FBFBFB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #959288; +} + +.arrow { + color: #D2D1CD; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #BEBCB6; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #78756B; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #D8D7D3; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #D8D7D3; + border-bottom: 1px solid #D8D7D3; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #D8D7D3; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #F2F2F1; + font-size: 90%; + color: #6E6B62; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #D8D7D3; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#CAC8C3; + border:solid 1px #E4E3E1; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#8B887D; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #757168; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#B9B6B0; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#8B887D; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FCFCFC; + margin: 0px; + border-bottom: 1px solid #E5E4E2; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #AEABA3; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #CDCBC6; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#878378; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #FAFAFA; + border: 1px solid #EEEDEC; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #A29F96; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/doxygen.png b/docs/acap-sdk-version-3/api/src/api/bbox/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..69a921c279e71363b64e6868642ba060f2060323 GIT binary patch literal 3811 zcmV<94jl1`P)W+@m)6{PS0tMorm{%*R%Jx-gSG|?_F#C zYgJ!g4*;zM0FNL&1^}%D0FNeFO`RM901rcY0P39s0IdW7Kc7-}y$=A*k~IK41SO6d zE8gT9sn9qb9?}3B>;FZSy=%<^VAeTjzk6`z4%@9?*L>7pTxR4 zA`g*uo^7P0?oP3gV?W*i)cYjK)mg|%aY&2pNw%BRYsxmA=QI%~+h$p|nc0Nx^Q6Z- z0MHQW2Z=uTuF_&3d{>RHW@5Tdaz)`&Uga3r7W-viDKyuGoHqr~N+%~rbHGb~K#!h% z1V-(p8vSRV9&8by$cV6cJgb6(gFReayQ5Plr-mr5U&Y0mDh|*@pUK<*n*KJ)I+CAS zFR#7;lwDF%%yPaYb4s+C=C&w`2K$V_ z{rgP=#C)S+@=DeXn>ro#_WV$k#rpmFdt=y$=RDGPZd*;kc1li3TTVJTqxEC;u5QYM zJ^fW7HgDQ!B%4ueGblL7IQAueTn+2)-8)zjyAUr2PeQNWUNZmCXMaap+Aag>B`_8N z0l&w{=U$Z0OV5?y@Zlo{@?A!WIyfzImPTKSk?pJR&UQ=7DuYD3@;zUfFcnX9c?tkD z#CCWM^&1tmWBZ?j$lqAHD}&_C;7kdhDa+PWpNIF5VMZTc|3-1_N=-5nNJRuvs@2rV zAwpYYgqJLR1NIKu1Oq@*G(GZ<{L_wTT#p{z_eL*RrnwvdSP~~7al>0EFRz-&-{f=e z@;Bl&dYK=j;qM1Oi6@(8OPjk=w<0g^X#Dt~AoJLlUY7Y+E`N)drRJh-+u!x0xUyqj zU#S89;Kv8BKQl9m{thri8jU_fM*u*Jbm;R>ke-$nLv|C$Za9IH6!E7ynwZ%4ojbRo z_Sf(z&R~7~>P*rNBVGN75q{ZI!e;S6$nfHef#_&wPZe>$A(?mX;CTLF zR99EP&CL`3qsIV1Q)HYF8i6)#Y-C+_kay@);s1z{zm;Db%dqUKxE02vjR(drw=zo!M1G!cswGA7eq0MGpb(WSIY5a%2gN2kEAEvhwh=HDsq%6sANt2Mh`oC z2U+NogIUNrkQGmVxkR(y*}4OOvS-hj#y?(k=@OH9h0MQq_b%RCxdhj)-4N=zb7zO7 z*yU?rV{0qRB*d>kMMbq2**s5n5+kNX8aZ)l8*2G~Uil8oV_)M$OeCFZ(n()nG7B?A zT8DH03w!tMi5WBI`8aNY@?0oAiwz0!JQGe%3=NI*AEi9B3pJHk{ni_d9=9-^<+)^& zhd0?xZ_cjB@|Zb$j-g+F5f80?(eU9zvnNea#_7%PZyY)S?ICb=Qx%`^MGXUzX^YrYcIjgR!V5gZ|lD4Pvcht^gxQ$7RTig5Zy%$6B!eAvi(?iIF4;bK; z6ghn!0BA^*jVD?8v4}dg>o#n5v{hBwir7UkEsBA<6EKew;mjS$ykwcan`^@$=d~wo zJB}SY9!R!x9uy}h*-{q(S|U{*6PnAh2vBx&u?YYT9qN-kagxxogmv*k71qVC)&TVO zrmX;!J#Vfs@M1zjLgI$|E0;QQ_)}zLWWs=G^qXDRQPFd+$!_!^^WJce912y_|F33qdzL)yk$?0)nc1XPD z;%rLyLa=I*->+YJbEbeB4bY~3XY!$B$*sKA4mT88fVNG z`Z@qu(nnbt`26$Sc#_w&Inu3NwI;!_DZP6%yOu67)sYUjH{mND*rT%Yf)_u6 z=JF&}&;pZL-<9T^WsVpip&PuuBF@9k&R!NcdgOEL&&(|1|2{s0bRiR_0#NoM(_CRT zQy{eq&9ShtQIeFp;~f+ieXC!L zSOfLQ6Sz9Vq@ z)JaLd$kI3a-MC?$43K3GGTz&X?YFppNI##cCvOOyHLuO1fOt9D|M?z|lWO%mM%nef;4E$jv<*MzWczn2(wlFVi)3 z9{{kVd%3{%SG0KtmM^eH^}pd;wV`b zyTU^)$MG(YeXWk1X-_K#L^l zGeCm}>#~DGrpRZtmuj#naia{--01mw=dMZx?aSDO6DNvffOxHZ;e|0~KkBnKHa414 z{M&&H%$O|zBCn-O7775ZTC<-2hdVgfC5?MI7*9Xb4*(j`*)v~Lu={Z1#?6`Zd4S|= zXGP72x~&!*JA|yPza^8+XtFua>zQ5z;B)}WPTRQ+C1*;sevsY>AOR%TZqDX`6ezFj z*RCQj?mP(gI=LH&9~M9P*M3N;+@GB-vIy`5!uwyPbXDA8a)aCXpW>R27snW0Lad+LpuGR1OUGxn)AaC zKQ5ddHLrVTr^jXH=~IRH=)(_TYiq+Vauku=SAP8Q_S*pg0ka1U@oNJB4!^>3Z0MP8J%5vl#%7wM{Z?b>W2Wuy%Cp4|`+Ep6v)#q{g^eNo<{$`SmO`CE$ znnmD@`cHuaK(pl**SlBGUsa1cS6Y^S_wGH8GFkI&^41n8B1*+qSmo*r5YD+I7H{D_70zg2+TRw1Wu%{sTn!6Iz@E z5D)d90Pz2SsH7U^F97^Z;{Ng^kvjnVA5j?rlw+N`>wW&n5eWcV2>>1udJF(s2>>2V Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/dynsections.js b/docs/acap-sdk-version-3/api/src/api/bbox/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +bbox: File List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
bbox +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + +
 bbox.hA class representing a bbox session
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/files.js b/docs/acap-sdk-version-3/api/src/api/bbox/html/files.js new file mode 100644 index 0000000..baaf8a0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/files.js @@ -0,0 +1,4 @@ +var files = +[ + [ "bbox.h", "bbox_8h.html", "bbox_8h" ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/folderclosed.png b/docs/acap-sdk-version-3/api/src/api/bbox/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..32f346dfdd52aca9b97ecdbd5a7d2eb71d5431e4 GIT binary patch literal 583 zcmV-N0=WH&P)!A1!UctQj_=)>@jY|znHjfCN(lg4g8=~B#MTLR0HBD`=$D*cUjfKktKEg) z8!!NP3|10Q@P^$=-x*_=-b{!903HQa6#2*ZQ+fC2H|%CR4Nh}zZ>RCQdZc>D=0DU| zt3JWOi&xq}WjGuH$lA~Iv*Gjom$1}it6GD#SB?BuvjbaYMZ{$5^#6>T;|sh#e5Z+A zA~^Z_MS6aq{W$Zf-jrFqvyv=g0t1t)ks^4%iQu#BbiFhH85J+JBq$L8fDVS6>r1?O z`#~ElX+UCy;r&vBa-fJf(LXx`UwR3ciwH zJ`c0iJg`Y39dd(4fpE<^kV>p^uCjWdhqsy9)psN>_#5Y}vhFz&*duJul#n z=X1yHDfqnW_`KtI+);4dfV*m(;PnRF5Bj{_ak*)lpVnqzS+$P<@UQUy|D$c4;4i2n V{UzU_>T>`9002ovPDHLkV1jg!4EO*5 literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/folderopen.png b/docs/acap-sdk-version-3/api/src/api/bbox/html/folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..3d86075e9e8354717712986c13057ce1eae0c6e4 GIT binary patch literal 586 zcmV-Q0=4~#P)FY*etmehFu1r||vFCjhVtZM985et1t$fBrzan(Xs)GU{y3 z)5q-O^yPX32iI@ploX0Q4JUBD7CZ*uXQRKFfZHv$=fiOs98Zk45yD;(p7SepXcj>RPj4q+%5{DR(bf$cF2}Qts zKE>_h2jv7Oub$Cbt)A9EcF1x^rBe}omd5#fhU2>r%L!h;d`c~=mcP7YtLE~<3GUo` zRNkg3^Evh^u>=69pls9e=o^6S;b{_uOkAmKK2}T<0CFfO*z5I4|L`VZzeuuw&?mue zj|4kC((de#_I5zFu6D>)yF<3wyc_I^eSW8R?T~c3y97Y)DJW>Qt~>^SzlHz*XaG=( Y-&=9_qAhf1ng9R*07*qoM6N<$g53QY82|tP literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/globals.html b/docs/acap-sdk-version-3/api/src/api/bbox/html/globals.html new file mode 100644 index 0000000..052feb1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/globals.html @@ -0,0 +1,137 @@ + + + + + + + +bbox: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
bbox +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
    +
  • bbox_clear() +: bbox.h +
  • +
  • bbox_color() +: bbox.h +
  • +
  • bbox_color_from_rgb() +: bbox.h +
  • +
  • bbox_color_from_rgba() +: bbox.h +
  • +
  • bbox_commit() +: bbox.h +
  • +
  • bbox_destroy() +: bbox.h +
  • +
  • bbox_new() +: bbox.h +
  • +
  • bbox_rectangle() +: bbox.h +
  • +
  • bbox_style_corners() +: bbox.h +
  • +
  • bbox_style_outline() +: bbox.h +
  • +
  • bbox_thickness_medium() +: bbox.h +
  • +
  • bbox_thickness_thick() +: bbox.h +
  • +
  • bbox_thickness_thin() +: bbox.h +
  • +
  • bbox_video_output() +: bbox.h +
  • +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/globals_func.html b/docs/acap-sdk-version-3/api/src/api/bbox/html/globals_func.html new file mode 100644 index 0000000..687e327 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/globals_func.html @@ -0,0 +1,137 @@ + + + + + + + +bbox: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
bbox +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
    +
  • bbox_clear() +: bbox.h +
  • +
  • bbox_color() +: bbox.h +
  • +
  • bbox_color_from_rgb() +: bbox.h +
  • +
  • bbox_color_from_rgba() +: bbox.h +
  • +
  • bbox_commit() +: bbox.h +
  • +
  • bbox_destroy() +: bbox.h +
  • +
  • bbox_new() +: bbox.h +
  • +
  • bbox_rectangle() +: bbox.h +
  • +
  • bbox_style_corners() +: bbox.h +
  • +
  • bbox_style_outline() +: bbox.h +
  • +
  • bbox_thickness_medium() +: bbox.h +
  • +
  • bbox_thickness_thick() +: bbox.h +
  • +
  • bbox_thickness_thin() +: bbox.h +
  • +
  • bbox_video_output() +: bbox.h +
  • +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.dot b/docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.dot new file mode 100644 index 0000000..789df56 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.dot @@ -0,0 +1,22 @@ +digraph "Graph Legend" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node9 [shape="box",label="Inherited",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",fillcolor="grey75",style="filled" fontcolor="black"]; + Node10 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [shape="box",label="PublicBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"]; + Node11 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [shape="box",label="Truncated",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"]; + Node13 -> Node9 [dir="back",color="darkgreen",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [shape="box",label="ProtectedBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"]; + Node14 -> Node9 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [shape="box",label="PrivateBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"]; + Node15 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [shape="box",label="Undocumented",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="grey75"]; + Node16 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [shape="box",label="Templ< int >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node17 -> Node16 [dir="back",color="orange",fontsize="10",style="dashed",label="< int >",fontname="Helvetica"]; + Node17 [shape="box",label="Templ< T >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node18 -> Node9 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label="m_usedClass",fontname="Helvetica"]; + Node18 [shape="box",label="Used",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.html b/docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.html new file mode 100644 index 0000000..b514d2f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.html @@ -0,0 +1,126 @@ + + + + + + + +bbox: Graph Legend + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
bbox +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

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:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.md5 b/docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/index.html b/docs/acap-sdk-version-3/api/src/api/bbox/html/index.html new file mode 100644 index 0000000..99be1a9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/index.html @@ -0,0 +1,97 @@ + + + + + + + +bbox: Main Page + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
bbox +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
bbox Documentation
+
+
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/bbox/html/jquery.js b/docs/acap-sdk-version-3/api/src/api/bbox/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/bbox/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;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=$(' + + +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+
+ + + +
 ClarodErrorType containing error information
 ClarodTensorDimsA type containing information about a tensor's dimensions
 ClarodTensorPitchesA type containing information about a tensor's pitches
+ + + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/axis-logo.png b/docs/acap-sdk-version-3/api/src/api/larod/html/axis-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7afe144721cea33a1b4fd747dd3ea0b77b2b347a GIT binary patch literal 2757 zcmZ{mYdq5p8^`|+tSv0RaGT1Yv4qd*ImzGWz52 zK~KI={_DW_ZyHz_0Kn@sA+E=vgZZ$hnTZjw|8G5SFV8$k1cOY`cmNO*`&T@`lYGg8 zP#_p#VJtAs13to|IOglr1ppvJgpq;Wea26WMc|2UDZ;h7(4c5fz6M{X=Nmg&o5PLs zp$^THpP@qH8Z=~p({J7yg1-LT7{=6%SS-ITkp3=H5$_i&Dy@Y`DgwKlelh6uAao3k zyQl58YtU;u$0H$1q0_hTZ-z~7J*6MI`u~6cDb8?6bJ350?$mMbEv5inq$+5&!vdoWz@l<9Cn|3vbSKmP>y zN0rlDB?6P6Q5GLWZupsgs_^-h-l$kUiF;sYa9qYxjebK!f4Cf>`p@*vzTtbhwkx;d zCEXKjV^(V=+aw+^FSZ&2$C&|r-PS55BspA83%+9;>8gG)3vqUI9?*uZBlM>6yTHjc zvi+LvZ+n`2dSVOf(`vyLt;wW7&DNbq)Z00H+D%!nClXvNZKYHF*5zh9fAab2Y$Cd9 zfk!;w6!v#ZqG;EX!n}FAQ3g_LzUSBa15UMGQBe4%tdx5zO6Lhn7Dy=N*rX7I&vxGZ zpt`pOTb`>VT0Y{p4$;*remujQNj~-gwbhhSnK*k6T4iSCb>SiDVVdfuoZmo5YyUV7 z_!bSC+e#c!&NiZK$vT1iIxo{lr~^$sGb-`tEze3QTBFY7#a?A+I>A)n$U0o7;K-DN z>RsIo#cFR_H?x-Q@bcTl3X60e!G7cq9q++6whm!C{&@ec%gOxgoZdGoQD?;<0o!S- zahi?FSx+AgtN#8)lY`XYj}4X(bnL;qB!kK4NIEyF5pO67JfZ8J1SG{LX$*7c^NgH^_LgpR zbipW$CDXcz9a&~~HVYB08aQrXbMee7u$ZYsi*jIoKiIj-V(4p_=W7+^01aOz=shYN z@q(G=xqVuDt+xl(A3C@QeU;M{O0kf0e8p3K#~O}13XyFQgb#mia*mcIs)fKn; zWn=J8t~CjGmGU!xOuUsCH*F2}xFCJ!%|{259>IG78FQ-+SZd;jU#S9N%8@~~1nhQh z;*1oZK97ETo?*@3yH0P~!bc+TZe0wh)^KfZu@x9s88#RrKGXsZs_Or)?6la_BCGRx`nDUYHh8f1w}t0r6)_RA!R ziP)C3taqFC%xXr6Xtiq%d#lLu2aUZVm$apt#ne|cypIrjyYv$7rp-D+o>-WQk6Ijj zV(&}{;m%@{C%HmDf4M;SW=#wyRkJDF`XEun9^`dQSGDG*FEu8O;Ttz8el{VOQ_=M% z1&UYqDXNP4j2=~^@HyoTbL-|1r8Q2)k}=&b@VDKiKEYUG`6p_ z=fEej^ay84m;h1t9$9%r6ooAjt#;fZFP~<##xE3*KPeUbmd2tVmWiCTU3AP=+z7GM zGEg6SIGKEmpavcP`t(90|I8Didc+;~*G_`(*`Dtr5l7n^*6h+7Pwt{6&|y2^Sr)h4 z^lMa_0>SFXDq^FW;DT%1_Narx7ksaT%zCcujH!QBBe}w>Bpi8&Raw2oH&IG5@JAa* ziEV#%u~$I?3ud2)>A`xLVRfa-NxszUwMm%qe62hvgEw*vC+07vc?qn6RxT@50)km@ zOb5T=gJg1i+YHBvtz_htI=3hQD5pK)-H zeZ&YJ*=ur=Lhm`;khI77?Qg5M2TJN&PTW3ArKv9M7cCwxRcrMZBP7zioZobSo4!Kr zKUW&JJWGid!0ii$QcGZP`4>*RHoF-1^3O_Og>x)uZv$IWKq$^eE6Uqt=LrgpV%M^t z`X^(;lJmIA)?uCO7eV>MA{^gK0pf_Rip7SlU ze?M+6GZ2g^Wm_hE^zw_HZ*aVJvM*h=(fs~|?qW@9b00q5%EQV#fD!l^v8QjW_R*E! zy6#ysb%~%c+h(pOd78^nr%n`j7l!QAp|Wm?Hg+PqVlLXW#{2cDVN4|E81}24e7A0J zAsMk4^&j^Oqwhk{HJ7pjBuCxdZ)DtfN9ZwZyh~MA(c!P(!AmNl%ft8e^nAm@e-GA2 z6`b>@WW4mMzH!gu{(l+n4v017$N}WpueW`JYIIPyIhv2n9<+yx^2VpN$hBMZ^GUmo zVo%>*5i`Foy(q{2Y38YTv6e1M>axQ*)EcNLAo?%XLg)B9@+xC(kThi)vA%E~> zj?o)F`;b!eGO-Tt1T2*OIy)L2i_x7@gr!)WF@L#0%PG5^~um6xEJT>UJG=Q{B z?EuYPOZ`6d=Z*%vRp2THd@ZX6dCS#X`2P4^#LOczWPnXup3Er59mf%P0m)JlDfmOr zaq@Xa8OIUOGiowljg=Ejb$1QuRoWB`><~*KD`eiYzEjuFF9l2KFLZyf+8JDKfcv6Q zPwRDtRKhA&OUrK^y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/bdwn.png b/docs/acap-sdk-version-3/api/src/api/larod/html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + +liblarod: Data Structure Index + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Data Structure Index
+
+
+ + + + + + +
  l  
+
larodTensorDims   larodTensorPitches   
larodError   
+ +
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/closed.png b/docs/acap-sdk-version-3/api/src/api/larod/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/customdoxygen.css b/docs/acap-sdk-version-3/api/src/api/larod/html/customdoxygen.css new file mode 100644 index 0000000..6ce9834 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/customdoxygen.css @@ -0,0 +1,79 @@ +#projectname +{ + text-indent: 200px; +} + +table.doxtable th { + background-color: #978a7e; +} + +dl.note +{ + border-color: #ffcc33; +} + +div.header +{ + border-bottom: 5px solid #ffffff; + background-color: #ffcc33; +} + +div.headertitle +{ + background-color: #ffcc33; + padding: 1px 0px 0px 15px; +} + +a { + font-weight: bold; + color: #666666; +} + +.contents a:visited { + color: #666666; +} +a.el { + color: #666666; +} + +.arrow { + color: #666666; +} + +.navpath li.navelem a +{ + font-weight: bold; + color: #000000; +} + +.navpath li.navelem a:hover +{ + font-weight: bold; + color:#666666; +} + +.navpath li.footer +{ + font-weight: bold; + color: #000000;; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px #ffcc33; +} + +div.line.glow { + background-color: #ffcc33; + box-shadow: 0 0 10px #ffcc33; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: #ffcc33; + box-shadow: 0 0 15px #ffcc33; +} + +.memitem.glow { + box-shadow: 0 0 15px #ffcc33; +} + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/deprecated.html b/docs/acap-sdk-version-3/api/src/api/larod/html/deprecated.html new file mode 100644 index 0000000..8644ea1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/deprecated.html @@ -0,0 +1,127 @@ + + + + + + + +liblarod: Deprecated List + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Deprecated List
+
+
+
+
Global LAROD_ERROR_INFERENCE
+
Replaced with LAROD_ERROR_JOB in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodChip
+
Replaced with larodDevice in larod 3.0. This type is still available in larod 3.0 and later if either LAROD_API_VERSION_1 or LAROD_API_VERSION_2 is defined before larod.h is included.
+
Global larodCreateInferenceRequest (const larodModel *model, larodTensor **inputTensors, size_t numInputs, larodTensor **outputTensors, size_t numOutputs, larodError **error)
+
Replaced with larodCreateJobRequest() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodDestroyInferenceRequest (larodInferenceRequest **infReq)
+
Replaced with larodDestroyJobRequest() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodDestroyTensors (larodTensor ***tensors, size_t numTensors)
+
Replaced with larodDestroyTensors() with an additional input parameters in larod 3.0. This function is still available in larod 3.0 and later if either LAROD_API_VERSION_1 or LAROD_API_VERSION_2 is defined before larod.h is included.
+
Global larodGetChipId (larodConnection *conn, uint64_t *chipId, larodError **error)
+
Replaced with larodGetModelChip() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodGetChipType (larodConnection *conn, larodChip *chipType, larodError **error)
+
Replaced with larodGetModelChip() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodGetModelChip (const larodModel *model, larodError **error)
+
Replaced with larodGetDevice in larod 3.0. This function is still available in larod 3.0 and later if LAROD_API_VERSION_2 is defined before larod.h is included.
+
Global larodGetModelInputByteSizes (const larodModel *model, size_t *numInputs, larodError **error)
+
Replaced with larodGetTensorByteSize() in larod 3.1. Will be removed in a future release.
+
Global larodGetModelOutputByteSizes (const larodModel *model, size_t *numOutputs, larodError **error)
+
Replaced with larodGetTensorByteSize() in larod 3.1. Will be removed in a future release.
+
Global larodInferenceRequest
+
Replaced with larodJobRequest in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodListChips (larodConnection *conn, larodChip **chips, size_t *numChips, larodError **error)
+
Replaced with larodListDevices in larod 3.0. This function is still available in larod 3.0 and later if either LAROD_API_VERSION_1 or LAROD_API_VERSION_2 is defined before larod.h is included.
+
Global larodLoadModel (larodConnection *conn, const int fd, const larodAccess access, const char *name, larodError **error)
+
Replaced with larodLoadModel() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodLoadModel (larodConnection *conn, const int fd, const larodChip chip, const larodAccess access, const char *name, const larodMap *params, larodError **error)
+
Replaced with larodLoadModel() in larod 3.0. This function is still available in larod 3.0 and later if LAROD_API_VERSION_2 is defined before larod.h is included.
+
Global larodLoadModelAsync (larodConnection *conn, const int fd, const larodAccess access, const char *name, larodLoadModelCallback callback, void *userData, larodError **error)
+
Replaced with larodLoadModelAsync() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodLoadModelAsync (larodConnection *conn, const int fd, const larodChip chip, const larodAccess access, const char *name, const larodMap *params, larodLoadModelCallback callback, void *userData, larodError **error)
+
Replaced with larodLoadModelAsync() in larod 3.0. This function is still available in larod 3.0 and later if LAROD_API_VERSION_2 is defined before larod.h is included.
+
Global larodRunInference (larodConnection *conn, const larodInferenceRequest *infReq, larodError **error)
+
Replaced with larodRunJob() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodRunInferenceAsync (larodConnection *conn, const larodInferenceRequest *infReq, larodRunInferenceCallback callback, void *userData, larodError **error)
+
Replaced with larodRunJobAsync() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodRunInferenceCallback )(void *userData, larodError *error)
+
Replaced with larodRunJobCallback() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodSetChip (larodConnection *conn, const larodChip chip, larodError **error)
+
Replaced with larodLoadModel() (with chip parameter) in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodSetChipId (larodConnection *conn, const uint64_t chipId, larodError **error)
+
Replaced with larodLoadModel() (with chip parameter) in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodSetInferenceRequestInputs (larodInferenceRequest *infReq, larodTensor **tensors, const size_t numTensors, larodError **error)
+
Replaced with larodSetJobRequestInputs() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodSetInferenceRequestModel (larodInferenceRequest *infReq, const larodModel *model, larodError **error)
+
Replaced with larodSetJobRequestModel() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodSetInferenceRequestOutputs (larodInferenceRequest *infReq, larodTensor **tensors, const size_t numTensors, larodError **error)
+
Replaced with larodSetJobRequestOutputs() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Global larodSetInferenceRequestPriority (larodInferenceRequest *infReq, const uint8_t priority, larodError **error)
+
Replaced with larodSetJobRequestPriority() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html b/docs/acap-sdk-version-3/api/src/api/larod/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html new file mode 100644 index 0000000..2ad6645 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html @@ -0,0 +1,86 @@ + + + + + + + +liblarod: lib Directory Reference + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
lib Directory Reference
+
+
+ + + + + +

+Files

file  larod.h [code]
 Main larod header file.
 
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/doc.png b/docs/acap-sdk-version-3/api/src/api/larod/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/doxygen.css b/docs/acap-sdk-version-3/api/src/api/larod/html/doxygen.css new file mode 100644 index 0000000..4f1ab91 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/doxygen.png b/docs/acap-sdk-version-3/api/src/api/larod/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 zcmV;!4m|ORP)tMIv#Q0*~7*`IBSO7_x;@a8#Zk6_PeKR_s92J&)(m+);m9Iz3blw)z#Gi zP!9lj4$%+*>Hz@HCmM9L9|8c+0u=!H$O3?R0Kgx|#WP<6fKfC8fM-CQZT|_r@`>VO zX^Hgb|9cJqpdJA5$MCEK`F_2@2Y@s>^+;pF`~jdI0Pvr|vl4`=C)EH@1IFe7pdJ8F zH(qGi004~QnF)Ggga~8v08kGAs2hKTATxr7pwfNk|4#_AaT>w8P6TV+R2kbS$v==} zAjf`s0g#V8lB+b3)5oEI*q+{Yt$MZDruD2^;$+(_%Qn+%v0X-bJO=;@kiJ^ygLBnC z?1OVv_%aex1M@jKU|Z~$eI?PoF4Vj>fDzyo zAiLfpXY*a^Sj-S5D0S3@#V$sRW)g)_1e#$%8xdM>Jm7?!h zu0P2X=xoN>^!4DoPRgph2(2va07yfpXF+WH7EOg1GY%Zn z7~1A<(z7Q$ktEXhW_?GMpHp9l_UL18F3KOsxu81pqoBiNbFSGsof-W z6~eloMoz=4?OOnl2J268x5rOY`dCk0us(uS#Ud4yqOr@?=Q57a}tit|BhY>}~frH1sP`ScHS_d)oqH^lYy zZ%VP`#10MlE~P?cE(%(#(AUSv_T{+;t@$U}El}(1ig`vZo`Rm;+5&(AYzJ^Ae=h2X z@Re%vHwZU>|f0NI&%$*4eJweC5OROQrpPMA@*w|o z()A==l}(@bv^&>H1Ob3C=<^|hob?0+xJ?QQ3-ueQC}zy&JQNib!OqSO@-=>XzxlSF zAZ^U*1l6EEmg3r};_HY>&Jo_{dOPEFTWPmt=U&F#+0(O59^UIlHbNX+eF8UzyDR*T z(=5X$VF3!gm@RooS-&iiUYGG^`hMR(07zr_xP`d!^BH?uD>Phl8Rdifx3Af^Zr`Ku ztL+~HkVeL#bJ)7;`=>;{KNRvjmc}1}c58Sr#Treq=4{xo!ATy|c>iRSp4`dzMMVd@ zL8?uwXDY}Wqgh4mH`|$BTXpUIu6A1-cSq%hJw;@^Zr8TP=GMh*p(m(tN7@!^D~sl$ zz^tf4II4|};+irE$Fnm4NTc5%p{PRA`%}Zk`CE5?#h3|xcyQsS#iONZ z6H(@^i9td!$z~bZiJLTax$o>r(p}3o@< zyD7%(>ZYvy=6$U3e!F{Z`uSaYy`xQyl?b{}eg|G3&fz*`QH@mDUn)1%#5u`0m$%D} z?;tZ0u(mWeMV0QtzjgN!lT*pNRj;6510Wwx?Yi_=tYw|J#7@(Xe7ifDzXuK;JB;QO z#bg~K$cgm$@{QiL_3yr}y&~wuv=P=#O&Tj=Sr)aCUlYmZMcw?)T?c%0rUe1cS+o!qs_ zQ6Gp)-{)V!;=q}llyK3|^WeLKyjf%y;xHku;9(vM!j|~<7w1c*Mk-;P{T&yG) z@C-8E?QPynNQ<8f01D`2qexcVEIOU?y}MG)TAE6&VT5`rK8s(4PE;uQ92LTXUQ<>^ ztyQ@=@kRdh@ebUG^Z6NWWIL;_IGJ2ST>$t!$m$qvtj0Qmw8moN6GUV^!QKNK zHBXCtUH8)RY9++gH_TUV4^=-j$t}dD3qsN7GclJ^Zc&(j6&a_!$jCf}%c5ey`pm~1)@{yI3 zTdWyB+*X{JFw#z;PwRr5evb2!ueWF;v`B0HoUu4-(~aL=z;OXUUEtG`_$)Oxw6FKg zEzY`CyKaSBK3xt#8gA|r_|Kehn_HYVBMpEwbn9-fI*!u*eTA1ef8Mkl1=!jV4oYwWYM}i`A>_F4nhmlCIC6WLa zY%;4&@AlnaG11ejl61Jev21|r*m+?Kru3;1tFDl}#!OzUp6c>go4{C|^erwpG*&h6bspUPJag}oOkN2912Y3I?(eRc@U9>z#HPBHC?nps7H5!zP``90!Q1n80jo+B3TWXp!8Pe zwuKuLLI6l3Gv@+QH*Y}2wPLPQ1^EZhT#+Ed8q8Wo z1pTmIBxv14-{l&QVKxAyQF#8Q@NeJwWdKk>?cpiJLkJr+aZ!Me+Cfp!?FWSRf^j2k z73BRR{WSKaMkJ>1Nbx5dan5hg^_}O{Tj6u%iV%#QGz0Q@j{R^Ik)Z*+(YvY2ziBG)?AmJa|JV%4UT$k`hcOg5r9R?5>?o~JzK zJCrj&{i#hG>N7!B4kNX(%igb%kDj0fOQThC-8mtfap82PNRXr1D>lbgg)dYTQ(kbx z`Ee5kXG~Bh+BHQBf|kJEy6(ga%WfhvdQNDuOfQoe377l#ht&DrMGeIsI5C<&ai zWG$|hop2@@q5YDa)_-A?B02W;#fH!%k`daQLEItaJJ8Yf1L%8x;kg?)k)00P-lH+w z)5$QNV6r2$YtnV(4o=0^3{kmaXn*Dm0F*fU(@o)yVVjk|ln8ea6BMy%vZAhW9|wvA z8RoDkVoMEz1d>|5(k0Nw>22ZT){V<3$^C-cN+|~hKt2)){+l-?3m@-$c?-dlzQ)q- zZ)j%n^gerV{|+t}9m1_&&Ly!9$rtG4XX|WQ8`xYzGC~U@nYh~g(z9)bdAl#xH)xd5a=@|qql z|FzEil{P5(@gy!4ek05i$>`E^G~{;pnf6ftpLh$h#W?^#4UkPfa;;?bsIe&kz!+40 zI|6`F2n020)-r`pFaZ38F!S-lJM-o&inOw|66=GMeP@xQU5ghQH{~5Uh~TMTd;I9` z>YhVB`e^EVj*S7JF39ZgNf}A-0DwOcTT63ydN$I3b?yBQtUI*_fae~kPvzoD$zjX3 zoqBe#>12im4WzZ=f^4+u=!lA|#r%1`WB0-6*3BL#at`47#ebPpR|D1b)3BjT34nYY z%Ds%d?5$|{LgOIaRO{{oC&RK`O91$fqwM0(C_TALcozu*fWHb%%q&p-q{_8*2Zsi^ zh1ZCnr^UYa;4vQEtHk{~zi>wwMC5o{S=$P0X681y`SXwFH?Ewn{x-MOZynmc)JT5v zuHLwh;tLfxRrr%|k370}GofLl7thg>ACWWY&msqaVu&ry+`7+Ss>NL^%T1|z{IGMA zW-SKl=V-^{(f!Kf^#3(|T2W47d(%JVCI4JgRrT1pNz>+ietmFToNv^`gzC@&O-)+i zPQ~RwK8%C_vf%;%e>NyTp~dM5;!C|N0Q^6|CEb7Bw=Vz~$1#FA;Z*?mKSC)Hl-20s t8QyHj(g6VK0RYbl8UjE)0O0w=e*@m04r>stuEhWV002ovPDHLkV1hl;dM*F} literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/dynsections.js b/docs/acap-sdk-version-3/api/src/api/larod/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +liblarod: File List + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + +
 larod.hMain larod header file
+
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/folderclosed.png b/docs/acap-sdk-version-3/api/src/api/larod/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/functions.html b/docs/acap-sdk-version-3/api/src/api/larod/html/functions.html new file mode 100644 index 0000000..b5fe724 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/functions.html @@ -0,0 +1,83 @@ + + + + + + + +liblarod: Data Fields + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/functions_vars.html b/docs/acap-sdk-version-3/api/src/api/larod/html/functions_vars.html new file mode 100644 index 0000000..669cea7 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/functions_vars.html @@ -0,0 +1,83 @@ + + + + + + + +liblarod: Data Fields - Variables + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/globals.html b/docs/acap-sdk-version-3/api/src/api/larod/html/globals.html new file mode 100644 index 0000000..68ed92c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/globals.html @@ -0,0 +1,546 @@ + + + + + + + +liblarod: Globals + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- l -

    +
  • LAROD_ACCESS_INVALID +: larod.h +
  • +
  • LAROD_ACCESS_PRIVATE +: larod.h +
  • +
  • LAROD_ACCESS_PUBLIC +: larod.h +
  • +
  • LAROD_CHIP_ACE +: larod.h +
  • +
  • LAROD_CHIP_CVFLOW_NN +: larod.h +
  • +
  • LAROD_CHIP_CVFLOW_PROC +: larod.h +
  • +
  • LAROD_CHIP_DEBUG +: larod.h +
  • +
  • LAROD_CHIP_INVALID +: larod.h +
  • +
  • LAROD_CHIP_LIBYUV +: larod.h +
  • +
  • LAROD_CHIP_OPENCL +: larod.h +
  • +
  • LAROD_CHIP_TFLITE_ARTPEC8DLPU +: larod.h +
  • +
  • LAROD_CHIP_TFLITE_CPU +: larod.h +
  • +
  • LAROD_CHIP_TFLITE_GLGPU +: larod.h +
  • +
  • LAROD_CHIP_TPU +: larod.h +
  • +
  • LAROD_ERROR_ALLOC +: larod.h +
  • +
  • LAROD_ERROR_CONNECTION +: larod.h +
  • +
  • LAROD_ERROR_CREATE_SESSION +: larod.h +
  • +
  • LAROD_ERROR_DELETE_MODEL +: larod.h +
  • +
  • LAROD_ERROR_FD +: larod.h +
  • +
  • LAROD_ERROR_INFERENCE +: larod.h +
  • +
  • LAROD_ERROR_INVALID_ACCESS +: larod.h +
  • +
  • LAROD_ERROR_INVALID_CHIP_ID +: larod.h +
  • +
  • LAROD_ERROR_JOB +: larod.h +
  • +
  • LAROD_ERROR_KILL_SESSION +: larod.h +
  • +
  • LAROD_ERROR_LOAD_MODEL +: larod.h +
  • +
  • LAROD_ERROR_MAX_ERRNO +: larod.h +
  • +
  • LAROD_ERROR_MODEL_NOT_FOUND +: larod.h +
  • +
  • LAROD_ERROR_NONE +: larod.h +
  • +
  • LAROD_ERROR_PERMISSION +: larod.h +
  • +
  • LAROD_ERROR_TENSOR_MISMATCH +: larod.h +
  • +
  • LAROD_ERROR_VERSION_MISMATCH +: larod.h +
  • +
  • LAROD_FD_PROP_DMABUF +: larod.h +
  • +
  • LAROD_FD_PROP_MAP +: larod.h +
  • +
  • LAROD_FD_PROP_READWRITE +: larod.h +
  • +
  • LAROD_FD_TYPE_DISK +: larod.h +
  • +
  • LAROD_FD_TYPE_DMA +: larod.h +
  • +
  • LAROD_INVALID_FD +: larod.h +
  • +
  • LAROD_INVALID_MODEL_ID +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_BOOL +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_FLOAT16 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_FLOAT32 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_FLOAT64 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INT16 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INT32 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INT64 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INT8 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INVALID +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_MAX +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UINT16 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UINT32 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UINT64 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UINT8 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UNSPECIFIED +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_420SP +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_INVALID +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_MAX +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_NCHW +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_NHWC +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_UNSPECIFIED +: larod.h +
  • +
  • LAROD_TENSOR_MAX_LEN +: larod.h +
  • +
  • larodAccess +: larod.h +
  • +
  • larodAllocModelInputs() +: larod.h +
  • +
  • larodAllocModelOutputs() +: larod.h +
  • +
  • larodChip +: larod.h +
  • +
  • larodClearError() +: larod.h +
  • +
  • larodConnect() +: larod.h +
  • +
  • larodConnection +: larod.h +
  • +
  • larodCreateInferenceRequest() +: larod.h +
  • +
  • larodCreateJobRequest() +: larod.h +
  • +
  • larodCreateMap() +: larod.h +
  • +
  • larodCreateModelInputs() +: larod.h +
  • +
  • larodCreateModelOutputs() +: larod.h +
  • +
  • larodCreateTensors() +: larod.h +
  • +
  • larodDeleteModel() +: larod.h +
  • +
  • larodDestroyInferenceRequest() +: larod.h +
  • +
  • larodDestroyJobRequest() +: larod.h +
  • +
  • larodDestroyMap() +: larod.h +
  • +
  • larodDestroyModel() +: larod.h +
  • +
  • larodDestroyModels() +: larod.h +
  • +
  • larodDestroyTensors() +: larod.h +
  • +
  • larodDevice +: larod.h +
  • +
  • larodDisconnect() +: larod.h +
  • +
  • larodErrorCode +: larod.h +
  • +
  • larodGetChipId() +: larod.h +
  • +
  • larodGetChipType() +: larod.h +
  • +
  • larodGetDevice() +: larod.h +
  • +
  • larodGetDeviceInstance() +: larod.h +
  • +
  • larodGetDeviceName() +: larod.h +
  • +
  • larodGetModel() +: larod.h +
  • +
  • larodGetModelAccess() +: larod.h +
  • +
  • larodGetModelChip() +: larod.h +
  • +
  • larodGetModelDevice() +: larod.h +
  • +
  • larodGetModelId() +: larod.h +
  • +
  • larodGetModelInputByteSizes() +: larod.h +
  • +
  • larodGetModelName() +: larod.h +
  • +
  • larodGetModelNumInputs() +: larod.h +
  • +
  • larodGetModelNumOutputs() +: larod.h +
  • +
  • larodGetModelOutputByteSizes() +: larod.h +
  • +
  • larodGetModels() +: larod.h +
  • +
  • larodGetModelSize() +: larod.h +
  • +
  • larodGetNumSessions() +: larod.h +
  • +
  • larodGetTensorByteSize() +: larod.h +
  • +
  • larodGetTensorDataType() +: larod.h +
  • +
  • larodGetTensorDims() +: larod.h +
  • +
  • larodGetTensorFd() +: larod.h +
  • +
  • larodGetTensorFdOffset() +: larod.h +
  • +
  • larodGetTensorFdProps() +: larod.h +
  • +
  • larodGetTensorFdSize() +: larod.h +
  • +
  • larodGetTensorLayout() +: larod.h +
  • +
  • larodGetTensorName() +: larod.h +
  • +
  • larodGetTensorPitches() +: larod.h +
  • +
  • larodInferenceRequest +: larod.h +
  • +
  • larodJobRequest +: larod.h +
  • +
  • larodListChips() +: larod.h +
  • +
  • larodListDevices() +: larod.h +
  • +
  • larodLoadModel() +: larod.h +
  • +
  • larodLoadModelAsync() +: larod.h +
  • +
  • larodLoadModelCallback +: larod.h +
  • +
  • larodMap +: larod.h +
  • +
  • larodMapGetInt() +: larod.h +
  • +
  • larodMapGetIntArr2() +: larod.h +
  • +
  • larodMapGetIntArr4() +: larod.h +
  • +
  • larodMapGetStr() +: larod.h +
  • +
  • larodMapSetInt() +: larod.h +
  • +
  • larodMapSetIntArr2() +: larod.h +
  • +
  • larodMapSetIntArr4() +: larod.h +
  • +
  • larodMapSetStr() +: larod.h +
  • +
  • larodModel +: larod.h +
  • +
  • larodRunInference() +: larod.h +
  • +
  • larodRunInferenceAsync() +: larod.h +
  • +
  • larodRunInferenceCallback +: larod.h +
  • +
  • larodRunJob() +: larod.h +
  • +
  • larodRunJobAsync() +: larod.h +
  • +
  • larodRunJobCallback +: larod.h +
  • +
  • larodSetChip() +: larod.h +
  • +
  • larodSetChipId() +: larod.h +
  • +
  • larodSetInferenceRequestInputs() +: larod.h +
  • +
  • larodSetInferenceRequestModel() +: larod.h +
  • +
  • larodSetInferenceRequestOutputs() +: larod.h +
  • +
  • larodSetInferenceRequestPriority() +: larod.h +
  • +
  • larodSetJobRequestInputs() +: larod.h +
  • +
  • larodSetJobRequestModel() +: larod.h +
  • +
  • larodSetJobRequestOutputs() +: larod.h +
  • +
  • larodSetJobRequestParams() +: larod.h +
  • +
  • larodSetJobRequestPriority() +: larod.h +
  • +
  • larodSetTensorDataType() +: larod.h +
  • +
  • larodSetTensorDims() +: larod.h +
  • +
  • larodSetTensorFd() +: larod.h +
  • +
  • larodSetTensorFdOffset() +: larod.h +
  • +
  • larodSetTensorFdProps() +: larod.h +
  • +
  • larodSetTensorFdSize() +: larod.h +
  • +
  • larodSetTensorLayout() +: larod.h +
  • +
  • larodSetTensorPitches() +: larod.h +
  • +
  • larodTensor +: larod.h +
  • +
  • larodTensorDataType +: larod.h +
  • +
  • larodTensorLayout +: larod.h +
  • +
  • larodTrackTensor() +: larod.h +
  • +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/globals_defs.html b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_defs.html new file mode 100644 index 0000000..a7dd15f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_defs.html @@ -0,0 +1,97 @@ + + + + + + + +liblarod: Globals + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/globals_enum.html b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_enum.html new file mode 100644 index 0000000..7421257 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_enum.html @@ -0,0 +1,88 @@ + + + + + + + +liblarod: Globals + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/globals_eval.html b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_eval.html new file mode 100644 index 0000000..8d01c41 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_eval.html @@ -0,0 +1,231 @@ + + + + + + + +liblarod: Globals + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

    +
  • LAROD_ACCESS_INVALID +: larod.h +
  • +
  • LAROD_ACCESS_PRIVATE +: larod.h +
  • +
  • LAROD_ACCESS_PUBLIC +: larod.h +
  • +
  • LAROD_CHIP_ACE +: larod.h +
  • +
  • LAROD_CHIP_CVFLOW_NN +: larod.h +
  • +
  • LAROD_CHIP_CVFLOW_PROC +: larod.h +
  • +
  • LAROD_CHIP_DEBUG +: larod.h +
  • +
  • LAROD_CHIP_INVALID +: larod.h +
  • +
  • LAROD_CHIP_LIBYUV +: larod.h +
  • +
  • LAROD_CHIP_OPENCL +: larod.h +
  • +
  • LAROD_CHIP_TFLITE_ARTPEC8DLPU +: larod.h +
  • +
  • LAROD_CHIP_TFLITE_CPU +: larod.h +
  • +
  • LAROD_CHIP_TFLITE_GLGPU +: larod.h +
  • +
  • LAROD_CHIP_TPU +: larod.h +
  • +
  • LAROD_ERROR_ALLOC +: larod.h +
  • +
  • LAROD_ERROR_CONNECTION +: larod.h +
  • +
  • LAROD_ERROR_CREATE_SESSION +: larod.h +
  • +
  • LAROD_ERROR_DELETE_MODEL +: larod.h +
  • +
  • LAROD_ERROR_FD +: larod.h +
  • +
  • LAROD_ERROR_INFERENCE +: larod.h +
  • +
  • LAROD_ERROR_INVALID_ACCESS +: larod.h +
  • +
  • LAROD_ERROR_INVALID_CHIP_ID +: larod.h +
  • +
  • LAROD_ERROR_JOB +: larod.h +
  • +
  • LAROD_ERROR_KILL_SESSION +: larod.h +
  • +
  • LAROD_ERROR_LOAD_MODEL +: larod.h +
  • +
  • LAROD_ERROR_MAX_ERRNO +: larod.h +
  • +
  • LAROD_ERROR_MODEL_NOT_FOUND +: larod.h +
  • +
  • LAROD_ERROR_NONE +: larod.h +
  • +
  • LAROD_ERROR_PERMISSION +: larod.h +
  • +
  • LAROD_ERROR_TENSOR_MISMATCH +: larod.h +
  • +
  • LAROD_ERROR_VERSION_MISMATCH +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_BOOL +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_FLOAT16 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_FLOAT32 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_FLOAT64 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INT16 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INT32 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INT64 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INT8 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_INVALID +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_MAX +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UINT16 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UINT32 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UINT64 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UINT8 +: larod.h +
  • +
  • LAROD_TENSOR_DATA_TYPE_UNSPECIFIED +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_420SP +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_INVALID +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_MAX +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_NCHW +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_NHWC +: larod.h +
  • +
  • LAROD_TENSOR_LAYOUT_UNSPECIFIED +: larod.h +
  • +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/globals_func.html b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_func.html new file mode 100644 index 0000000..e2d7e22 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_func.html @@ -0,0 +1,321 @@ + + + + + + + +liblarod: Globals + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

    +
  • larodAllocModelInputs() +: larod.h +
  • +
  • larodAllocModelOutputs() +: larod.h +
  • +
  • larodClearError() +: larod.h +
  • +
  • larodConnect() +: larod.h +
  • +
  • larodCreateInferenceRequest() +: larod.h +
  • +
  • larodCreateJobRequest() +: larod.h +
  • +
  • larodCreateMap() +: larod.h +
  • +
  • larodCreateModelInputs() +: larod.h +
  • +
  • larodCreateModelOutputs() +: larod.h +
  • +
  • larodCreateTensors() +: larod.h +
  • +
  • larodDeleteModel() +: larod.h +
  • +
  • larodDestroyInferenceRequest() +: larod.h +
  • +
  • larodDestroyJobRequest() +: larod.h +
  • +
  • larodDestroyMap() +: larod.h +
  • +
  • larodDestroyModel() +: larod.h +
  • +
  • larodDestroyModels() +: larod.h +
  • +
  • larodDestroyTensors() +: larod.h +
  • +
  • larodDisconnect() +: larod.h +
  • +
  • larodGetChipId() +: larod.h +
  • +
  • larodGetChipType() +: larod.h +
  • +
  • larodGetDevice() +: larod.h +
  • +
  • larodGetDeviceInstance() +: larod.h +
  • +
  • larodGetDeviceName() +: larod.h +
  • +
  • larodGetModel() +: larod.h +
  • +
  • larodGetModelAccess() +: larod.h +
  • +
  • larodGetModelChip() +: larod.h +
  • +
  • larodGetModelDevice() +: larod.h +
  • +
  • larodGetModelId() +: larod.h +
  • +
  • larodGetModelInputByteSizes() +: larod.h +
  • +
  • larodGetModelName() +: larod.h +
  • +
  • larodGetModelNumInputs() +: larod.h +
  • +
  • larodGetModelNumOutputs() +: larod.h +
  • +
  • larodGetModelOutputByteSizes() +: larod.h +
  • +
  • larodGetModels() +: larod.h +
  • +
  • larodGetModelSize() +: larod.h +
  • +
  • larodGetNumSessions() +: larod.h +
  • +
  • larodGetTensorByteSize() +: larod.h +
  • +
  • larodGetTensorDataType() +: larod.h +
  • +
  • larodGetTensorDims() +: larod.h +
  • +
  • larodGetTensorFd() +: larod.h +
  • +
  • larodGetTensorFdOffset() +: larod.h +
  • +
  • larodGetTensorFdProps() +: larod.h +
  • +
  • larodGetTensorFdSize() +: larod.h +
  • +
  • larodGetTensorLayout() +: larod.h +
  • +
  • larodGetTensorName() +: larod.h +
  • +
  • larodGetTensorPitches() +: larod.h +
  • +
  • larodListChips() +: larod.h +
  • +
  • larodListDevices() +: larod.h +
  • +
  • larodLoadModel() +: larod.h +
  • +
  • larodLoadModelAsync() +: larod.h +
  • +
  • larodMapGetInt() +: larod.h +
  • +
  • larodMapGetIntArr2() +: larod.h +
  • +
  • larodMapGetIntArr4() +: larod.h +
  • +
  • larodMapGetStr() +: larod.h +
  • +
  • larodMapSetInt() +: larod.h +
  • +
  • larodMapSetIntArr2() +: larod.h +
  • +
  • larodMapSetIntArr4() +: larod.h +
  • +
  • larodMapSetStr() +: larod.h +
  • +
  • larodRunInference() +: larod.h +
  • +
  • larodRunInferenceAsync() +: larod.h +
  • +
  • larodRunJob() +: larod.h +
  • +
  • larodRunJobAsync() +: larod.h +
  • +
  • larodSetChip() +: larod.h +
  • +
  • larodSetChipId() +: larod.h +
  • +
  • larodSetInferenceRequestInputs() +: larod.h +
  • +
  • larodSetInferenceRequestModel() +: larod.h +
  • +
  • larodSetInferenceRequestOutputs() +: larod.h +
  • +
  • larodSetInferenceRequestPriority() +: larod.h +
  • +
  • larodSetJobRequestInputs() +: larod.h +
  • +
  • larodSetJobRequestModel() +: larod.h +
  • +
  • larodSetJobRequestOutputs() +: larod.h +
  • +
  • larodSetJobRequestParams() +: larod.h +
  • +
  • larodSetJobRequestPriority() +: larod.h +
  • +
  • larodSetTensorDataType() +: larod.h +
  • +
  • larodSetTensorDims() +: larod.h +
  • +
  • larodSetTensorFd() +: larod.h +
  • +
  • larodSetTensorFdOffset() +: larod.h +
  • +
  • larodSetTensorFdProps() +: larod.h +
  • +
  • larodSetTensorFdSize() +: larod.h +
  • +
  • larodSetTensorLayout() +: larod.h +
  • +
  • larodSetTensorPitches() +: larod.h +
  • +
  • larodTrackTensor() +: larod.h +
  • +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/globals_type.html b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_type.html new file mode 100644 index 0000000..bd2a310 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/globals_type.html @@ -0,0 +1,103 @@ + + + + + + + +liblarod: Globals + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/index.html b/docs/acap-sdk-version-3/api/src/api/larod/html/index.html new file mode 100644 index 0000000..7277ea1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/index.html @@ -0,0 +1,87 @@ + + + + + + + +liblarod: Overview + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Overview
+
+
+

This is the documentation of the liblarod C API.

+

The entire API of liblarod is contained in larod.h.

+

There are also some documents with various information (that can be found under "Related Pages" in html docs):

    +
  • "Introduction for app developers" gives a general introduction to larod.
  • +
  • "Preprocessing" contains a detailed description of the preprocessing capabilities of larod.
  • +
  • "Neural network inference" contains descriptions of the various neural network inference backends of larod.
  • +
  • "Data formats in larod" describes the data format of models.
  • +
  • "Changes in the larod API" lists API-breaking changes of each larod major release.
  • +
  • "Working with dma-buf in larod" describes how larod can use DMA buffers with for faster execution times.
  • +
  • The larod-client document describes the larod-client command-line tool.
  • +
  • Instructions for the (DEPRECATED) larod-convert tool that converts models into .larod format can be found in ../tools/model-converter/README.md "\"Model converter tool"". NOTE: It is no longer required to wrap models in .larod format and this tool will be removed in the future.
  • +
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/jquery.js b/docs/acap-sdk-version-3/api/src/api/larod/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;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=$(' + + + + +
+ +
+
larod.h File Reference
+
+
+ +

Main larod header file. +More...

+
#include <limits.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include "larod-version.h"
+
+

Go to the source code of this file.

+
+ + + + + + + + + + +

+Data Structures

struct  larodError
 Type containing error information. More...
 
struct  larodTensorDims
 A type containing information about a tensor's dimensions. More...
 
struct  larodTensorPitches
 A type containing information about a tensor's pitches. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define LAROD_TENSOR_MAX_LEN   12
 Maximum number of dimensions of a larodTensor.
 
+#define LAROD_INVALID_MODEL_ID   UINT64_MAX
 Macro for invalid model ID.
 
+#define LAROD_INVALID_FD   (INT_MIN)
 Macro for invalid tensor file descriptor.
 
#define LAROD_FD_PROP_READWRITE   (1UL << 0)
 Flags for specifying how one can access a fd of a larodTensor. More...
 
+#define LAROD_FD_PROP_MAP   (1UL << 1)
 The Linux mmap syscall can be performed on the fd.
 
#define LAROD_FD_PROP_DMABUF   (1UL << 2)
 
#define LAROD_FD_TYPE_DMA   (LAROD_FD_PROP_DMABUF | LAROD_FD_PROP_MAP)
 Flags for specifying fd type for a larodTensor. More...
 
#define LAROD_FD_TYPE_DISK   (LAROD_FD_PROP_READWRITE | LAROD_FD_PROP_MAP)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct larodDevice larodDevice
 A type for representing a device. More...
 
typedef struct larodModel larodModel
 A type representing a model. More...
 
typedef void(* larodLoadModelCallback) (larodModel *model, void *userData, larodError *error)
 Callback used in larodLoadModelAsync(). More...
 
typedef void(* larodRunJobCallback) (void *userData, larodError *error)
 Callback used in larodRunJobAsync(). More...
 
typedef struct larodConnection larodConnection
 Connection handle type for the larod service. More...
 
typedef struct larodJobRequest larodJobRequest
 Type describing a job request. More...
 
typedef struct larodTensor larodTensor
 A type representing a tensor. More...
 
typedef struct larodMap larodMap
 A type containing key-value pairs. More...
 
typedef void(* larodRunInferenceCallback) (void *userData, larodError *error)
 Callback used in larodRunInferenceAsync(). More...
 
typedef struct larodJobRequest larodInferenceRequest
 Type describing a job request. More...
 
+ + + + + + + + + + + + + + + + +

+Enumerations

enum  larodChip
 Enum type with supported chips. More...
 
enum  larodAccess
 Enum type for specifying access. More...
 
enum  larodErrorCode
 Enum type for error codes. More...
 
enum  larodTensorDataType
 Enum type for specifying tensor data type. More...
 
enum  larodTensorLayout
 Enum type for specifying tensor layout. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void larodClearError (larodError **error)
 Deallocate an error handle. More...
 
bool larodConnect (larodConnection **conn, larodError **error)
 Connect to larod. More...
 
bool larodDisconnect (larodConnection **conn, larodError **error)
 Disconnect from larod. More...
 
bool larodGetNumSessions (larodConnection *conn, uint64_t *numSessions, larodError **error)
 Get number of currently active sessions in larod. More...
 
const larodDevicelarodGetDevice (const larodConnection *conn, const char *name, const uint32_t instance, larodError **error)
 Get an available device. More...
 
const char * larodGetDeviceName (const larodDevice *dev, larodError **error)
 Get the name of a device. More...
 
bool larodGetDeviceInstance (const larodDevice *dev, uint32_t *instance, larodError **error)
 Get the instance number of a device. More...
 
bool larodListChips (larodConnection *conn, larodChip **chips, size_t *numChips, larodError **error)
 List available chips. More...
 
const larodDevice ** larodListDevices (larodConnection *conn, size_t *numDevices, larodError **error)
 List available devices. More...
 
larodModellarodLoadModel (larodConnection *conn, const int fd, const larodDevice *dev, const larodAccess access, const char *name, const larodMap *params, larodError **error)
 Load a new model. More...
 
bool larodLoadModelAsync (larodConnection *conn, const int inFd, const larodDevice *dev, const larodAccess access, const char *name, const larodMap *params, larodLoadModelCallback callback, void *userData, larodError **error)
 Load a new model asynchronously. More...
 
larodModellarodGetModel (larodConnection *conn, const uint64_t modelId, larodError **error)
 Get handle to a model by model ID. More...
 
larodModel ** larodGetModels (larodConnection *conn, size_t *numModels, larodError **error)
 Get all loaded models. More...
 
void larodDestroyModel (larodModel **model)
 Free an allocated larodModel handle. More...
 
void larodDestroyModels (larodModel ***models, size_t numModels)
 Destroy a list of model objects. More...
 
bool larodDeleteModel (larodConnection *conn, larodModel *model, larodError **error)
 Delete a loaded model. More...
 
uint64_t larodGetModelId (const larodModel *model, larodError **error)
 Get model ID. More...
 
larodChip larodGetModelChip (const larodModel *model, larodError **error)
 Get chip for a model. More...
 
const larodDevicelarodGetModelDevice (const larodModel *model, larodError **error)
 Get device for a model. More...
 
size_t larodGetModelSize (const larodModel *model, larodError **error)
 Get model size. More...
 
const char * larodGetModelName (const larodModel *model, larodError **error)
 Get model name. More...
 
larodAccess larodGetModelAccess (const larodModel *model, larodError **error)
 Get model access mode. More...
 
size_t larodGetModelNumInputs (const larodModel *model, larodError **error)
 Get number of input tensors for a model. More...
 
size_t larodGetModelNumOutputs (const larodModel *model, larodError **error)
 Get number of output tensors for a model. More...
 
size_t * larodGetModelInputByteSizes (const larodModel *model, size_t *numInputs, larodError **error)
 Get input tensor byte sizes for a model. More...
 
size_t * larodGetModelOutputByteSizes (const larodModel *model, size_t *numOutputs, larodError **error)
 Get output tensor byte sizes for a model. More...
 
larodTensor ** larodCreateModelInputs (const larodModel *model, size_t *numTensors, larodError **error)
 Create input tensors from a model. More...
 
larodTensor ** larodCreateModelOutputs (const larodModel *model, size_t *numTensors, larodError **error)
 Create output tensors from a model. More...
 
larodTensor ** larodAllocModelInputs (larodConnection *conn, const larodModel *model, const uint32_t fdPropFlags, size_t *numTensors, larodMap *params, larodError **error)
 Create and allocate input tensors from a model. More...
 
larodTensor ** larodAllocModelOutputs (larodConnection *conn, const larodModel *model, const uint32_t fdPropFlags, size_t *numTensors, larodMap *params, larodError **error)
 Create and allocate output tensors from a model. More...
 
larodTensor ** larodCreateTensors (size_t numTensors, larodError **error)
 Create a list of empty larodTensor handles. More...
 
bool larodDestroyTensors (larodConnection *conn, larodTensor ***tensors, size_t numTensors, larodError **error)
 Destroy a list of larodTensor. More...
 
bool larodSetTensorDims (larodTensor *tensor, const larodTensorDims *dims, larodError **error)
 Set the dimensions of a tensor. More...
 
const larodTensorDimslarodGetTensorDims (const larodTensor *tensor, larodError **error)
 Get dimensions of a tensor. More...
 
bool larodSetTensorPitches (larodTensor *tensor, const larodTensorPitches *pitches, larodError **error)
 Set pitches of a tensor. More...
 
const larodTensorPitcheslarodGetTensorPitches (const larodTensor *tensor, larodError **error)
 Get pitches of a tensor. More...
 
bool larodSetTensorDataType (larodTensor *tensor, const larodTensorDataType dataType, larodError **error)
 Set data type of a tensor. More...
 
larodTensorDataType larodGetTensorDataType (const larodTensor *tensor, larodError **error)
 Get data type of a tensor. More...
 
bool larodSetTensorLayout (larodTensor *tensor, const larodTensorLayout layout, larodError **error)
 Set layout of a tensor. More...
 
larodTensorLayout larodGetTensorLayout (const larodTensor *tensor, larodError **error)
 Get layout of a tensor. More...
 
bool larodSetTensorFd (larodTensor *tensor, const int fd, larodError **error)
 Set file descriptor of a tensor. More...
 
int larodGetTensorFd (const larodTensor *tensor, larodError **error)
 Get file descriptor of a tensor. More...
 
bool larodSetTensorFdSize (larodTensor *tensor, const size_t size, larodError **error)
 Set file descriptor maximum capacity (bytes) for a tensor. More...
 
bool larodGetTensorFdSize (const larodTensor *tensor, size_t *size, larodError **error)
 Get file descriptor maximum capacity (bytes) for a tensor. More...
 
bool larodSetTensorFdOffset (larodTensor *tensor, const int64_t offset, larodError **error)
 Set file offset for a tensor. More...
 
int64_t larodGetTensorFdOffset (const larodTensor *tensor, larodError **error)
 Get file offset for a tensor. More...
 
bool larodTrackTensor (larodConnection *conn, larodTensor *tensor, larodError **error)
 Start tracking a tensor in the service. More...
 
bool larodSetTensorFdProps (larodTensor *tensor, const uint32_t fdPropFlags, larodError **error)
 Set the properties for a file descriptor of a tensor. More...
 
bool larodGetTensorFdProps (const larodTensor *tensor, uint32_t *fdPropFlags, larodError **error)
 Get the properties of a file descriptor of a tensor. More...
 
const char * larodGetTensorName (const larodTensor *tensor, larodError **error)
 Get name of tensor. More...
 
bool larodGetTensorByteSize (const larodTensor *tensor, size_t *byteSize, larodError **error)
 Get byte size of tensor. More...
 
larodMaplarodCreateMap (larodError **error)
 Create new larodMap. More...
 
void larodDestroyMap (larodMap **map)
 Destroy a larodMap. More...
 
bool larodMapSetStr (larodMap *map, const char *key, const char *value, larodError **error)
 Add a string to a larodMap object. More...
 
bool larodMapSetInt (larodMap *map, const char *key, const int64_t value, larodError **error)
 Add an integer to a larodMap object. More...
 
bool larodMapSetIntArr2 (larodMap *map, const char *key, const int64_t value0, const int64_t value1, larodError **error)
 Add an integer array of two elements to a larodMap object. More...
 
bool larodMapSetIntArr4 (larodMap *map, const char *key, const int64_t value0, const int64_t value1, const int64_t value2, const int64_t value3, larodError **error)
 Add an integer array of four elements to a larodMap object. More...
 
const char * larodMapGetStr (larodMap *map, const char *key, larodError **error)
 Get string type value tied to given key. More...
 
bool larodMapGetInt (larodMap *map, const char *key, int64_t *value, larodError **error)
 Get an integer type value tied to given key. More...
 
const int64_t * larodMapGetIntArr2 (larodMap *map, const char *key, larodError **error)
 Get an integer array of two elements tied to given key. More...
 
const int64_t * larodMapGetIntArr4 (larodMap *map, const char *key, larodError **error)
 Get an integer array of four elements tied to given key. More...
 
larodJobRequestlarodCreateJobRequest (const larodModel *model, larodTensor **inputTensors, size_t numInputs, larodTensor **outputTensors, size_t numOutputs, larodMap *params, larodError **error)
 Create and initialize a job request handle. More...
 
void larodDestroyJobRequest (larodJobRequest **jobReq)
 Destroy a request handle. More...
 
bool larodSetJobRequestModel (larodJobRequest *jobReq, const larodModel *model, larodError **error)
 Set model in a request. More...
 
bool larodSetJobRequestInputs (larodJobRequest *jobReq, larodTensor **tensors, const size_t numTensors, larodError **error)
 Set input tensor array in a request. More...
 
bool larodSetJobRequestOutputs (larodJobRequest *jobReq, larodTensor **tensors, const size_t numTensors, larodError **error)
 Set output tensor array in a job request. More...
 
bool larodSetJobRequestPriority (larodJobRequest *jobReq, const uint8_t priority, larodError **error)
 Set an priority of a job request. More...
 
bool larodSetJobRequestParams (larodJobRequest *jobReq, const larodMap *params, larodError **error)
 Set additional parameters to a job request. More...
 
bool larodRunJob (larodConnection *conn, const larodJobRequest *jobReq, larodError **error)
 Run a job on a loaded model. More...
 
bool larodRunJobAsync (larodConnection *conn, const larodJobRequest *jobReq, larodRunJobCallback callback, void *userData, larodError **error)
 Run a job on a loaded model asynchronously. More...
 
larodModellarodLoadModel (larodConnection *conn, const int fd, const larodAccess access, const char *name, larodError **error)
 Load a new model to current chip. More...
 
larodModellarodLoadModel (larodConnection *conn, const int fd, const larodChip chip, const larodAccess access, const char *name, const larodMap *params, larodError **error)
 Load a new model. More...
 
bool larodLoadModelAsync (larodConnection *conn, const int fd, const larodAccess access, const char *name, larodLoadModelCallback callback, void *userData, larodError **error)
 Load a new model to current chip asynchronously. More...
 
bool larodLoadModelAsync (larodConnection *conn, const int fd, const larodChip chip, const larodAccess access, const char *name, const larodMap *params, larodLoadModelCallback callback, void *userData, larodError **error)
 Load a new model asynchronously. More...
 
larodInferenceRequestlarodCreateInferenceRequest (const larodModel *model, larodTensor **inputTensors, size_t numInputs, larodTensor **outputTensors, size_t numOutputs, larodError **error)
 Create and initialize an inference request handle. More...
 
void larodDestroyInferenceRequest (larodInferenceRequest **infReq)
 Destroy an inference request handle. More...
 
bool larodSetInferenceRequestModel (larodInferenceRequest *infReq, const larodModel *model, larodError **error)
 Set model in an inference request. More...
 
bool larodSetInferenceRequestInputs (larodInferenceRequest *infReq, larodTensor **tensors, const size_t numTensors, larodError **error)
 Set input tensor array in an inference request. More...
 
bool larodSetInferenceRequestOutputs (larodInferenceRequest *infReq, larodTensor **tensors, const size_t numTensors, larodError **error)
 Set output tensor array in an inference request. More...
 
bool larodSetInferenceRequestPriority (larodInferenceRequest *infReq, const uint8_t priority, larodError **error)
 Set an priority of an inference request. More...
 
bool larodRunInference (larodConnection *conn, const larodInferenceRequest *infReq, larodError **error)
 Run inference on a loaded model. More...
 
bool larodRunInferenceAsync (larodConnection *conn, const larodInferenceRequest *infReq, larodRunInferenceCallback callback, void *userData, larodError **error)
 Run inference on a loaded model asynchronously. More...
 
bool larodGetChipId (larodConnection *conn, uint64_t *chipId, larodError **error)
 Get current chip ID in use for the session in larod. More...
 
bool larodSetChipId (larodConnection *conn, const uint64_t chipId, larodError **error)
 Set current chip using ID in use for the session in larod. More...
 
bool larodSetChip (larodConnection *conn, const larodChip chip, larodError **error)
 Set current chip using larodChip in use for the session in larod. More...
 
bool larodGetChipType (larodConnection *conn, larodChip *chipType, larodError **error)
 Get current chip type in use for the session in larod. More...
 
void larodDestroyTensors (larodTensor ***tensors, size_t numTensors)
 Destroy a list of larodTensor. More...
 
+

Detailed Description

+

Main larod header file.

+

Copyright 2018 Axis Communications SPDX-License-Identifier: Apache-2.0

+
Note
This library is not thread safe.
+

Macro Definition Documentation

+ +

◆ LAROD_FD_PROP_DMABUF

+ +
+
+ + + + +
#define LAROD_FD_PROP_DMABUF   (1UL << 2)
+
+

The fd represents a Linux (kernel) struct dma_buf. Refer to the documentation for more information about how use to this buffer type.

+ +
+
+ +

◆ LAROD_FD_PROP_READWRITE

+ +
+
+ + + + +
#define LAROD_FD_PROP_READWRITE   (1UL << 0)
+
+ +

Flags for specifying how one can access a fd of a larodTensor.

+

As part of larodTensor the file descriptor property flags are used to describe what kind of memory access operations are possible to perform on the file descriptor of a tensor.

+

One would most likely want to use the macros LAROD_FD_TYPE_DMA and LAROD_FD_TYPE_DISK. These automatically set appropriate flags for common fd types. Setting invalid flags could result in undefined behavior. For example, if one only sets LAROD_FD_PROP_MAP (and not LAROD_FD_PROP_DMABUF) for a dma-buf fd, it could give inconsistent data results (since the CPU cache would probably not be synchronized correctly).

+

Upon receiving a larodJobRequest the service will inspect the fd properties of the tensors associated with the request. It will match these properties with what the larodDevice associated with the request can handle in terms of accessing memory. Then with regard to what it has concluded the service will choose and perform the memory access operations required to perform the job as efficiently as possible.The Linux read/write syscalls can be performed on the fd.

+ +
+
+ +

◆ LAROD_FD_TYPE_DISK

+ +
+
+ + + + +
#define LAROD_FD_TYPE_DISK   (LAROD_FD_PROP_READWRITE | LAROD_FD_PROP_MAP)
+
+

A disk fd (or anonymous file, c.f. memfd_create()). Reading/writing and mapping it should be allowed.

+ +
+
+ +

◆ LAROD_FD_TYPE_DMA

+ +
+
+ + + + +
#define LAROD_FD_TYPE_DMA   (LAROD_FD_PROP_DMABUF | LAROD_FD_PROP_MAP)
+
+ +

Flags for specifying fd type for a larodTensor.

+

These set appropriate file descriptor access property flags (i.e LAROD_FD_PROP_*, e.g. LAROD_FD_PROP_READWRITE) for specific type of file descriptors. Use these where one would usually use the LAROD_FD_PROP_* flags.A dma-buf fd. Treating it as a dma-buf and mapping it should be allowed.

+ +
+
+

Typedef Documentation

+ +

◆ larodConnection

+ +
+
+ + + + +
typedef struct larodConnection larodConnection
+
+ +

Connection handle type for the larod service.

+

This connection handle type is used to connect to and interfacing the larod service.

+ +
+
+ +

◆ larodDevice

+ +
+
+ + + + +
typedef struct larodDevice larodDevice
+
+ +

A type for representing a device.

+

This type represents a device that is available for running jobs on. A device can be retrieved with functions such as larodGetDevice() and larodListDevices(). After retrieving a device, it can be used to load models onto, with a function such as larodLoadModel().

+

A device has a name and an instance number. The name identifies both which hardware unit and what software framework to use. The instance number is for distinguishing devices that are identical by having the same name; this can be useful for running multiple identical devices in parallel, in case the devices in question have support for it.

+ +
+
+ +

◆ larodInferenceRequest

+ +
+
+ + + + +
typedef struct larodJobRequest larodInferenceRequest
+
+ +

Type describing a job request.

+

This is used when running jobs such as pre-processing or inference.

+
Deprecated:
Replaced with larodJobRequest in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+ +
+
+ +

◆ larodJobRequest

+ +
+
+ + + + +
typedef struct larodJobRequest larodJobRequest
+
+ +

Type describing a job request.

+

This is used when running jobs such as pre-processing or inference.

+ +
+
+ +

◆ larodLoadModelCallback

+ +
+
+ + + + +
typedef void(* larodLoadModelCallback) (larodModel *model, void *userData, larodError *error)
+
+ +

Callback used in larodLoadModelAsync().

+

Callback function should not carry out relatively extensive blocking tasks (it will block the main poll thread for the message bus). Especially note that it must not call the synchronous calls larodRunJob() and larodDeleteModel().

+
Parameters
+ + + + +
modelHandle to the loaded model. Caller must release this handle using larodDestroyModel() when it's not needed any more.
userDataUser data.
errorAn initialized error handle when errors occurred (model is is NULL). error will be NULL on success. In this callback function, one must not free this handle with larodClearError(), since the library will do it when returning from this callback.
+
+
+ +
+
+ +

◆ larodMap

+ +
+
+ + + + +
typedef struct larodMap larodMap
+
+ +

A type containing key-value pairs.

+

This type can hold key-value pairs, where the key is a string and the value can be any of a given number of types. It should be created using larodCreateMap(), destroyed using larodDestroyMap(), and accessed using the various access functions such as larodMapSetInt(), larodMapGetStr(), etcetera.

+ +
+
+ +

◆ larodModel

+ +
+
+ + + + +
typedef struct larodModel larodModel
+
+ +

A type representing a model.

+

This type represents a model that has been loaded in the service. It contains information about the model, such as how many input and output tensor handles it requires for running a job, what ID it has been designated by the service etcetera. The properties of a model is accessed by various access functions (e.g. larodGetModelId()).

+ +
+
+ +

◆ larodRunInferenceCallback

+ +
+
+ + + + +
typedef void(* larodRunInferenceCallback) (void *userData, larodError *error)
+
+ +

Callback used in larodRunInferenceAsync().

+

Callback function should not carry out relatively extensive blocking tasks (it will block the main poll thread for the message bus). Especially note that it must not call the synchronous calls larodRunInference() and larodDeleteModel().

+
Parameters
+ + + +
userDataUser data.
errorAn initialized error handle if any errors occur while running inference. Otherwise, it will be NULL. In this callback function, one must not free this handle with larodClearError(), since the library will do it when returning from this callback.
+
+
+
Deprecated:
Replaced with larodRunJobCallback() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+ +
+
+ +

◆ larodRunJobCallback

+ +
+
+ + + + +
typedef void(* larodRunJobCallback) (void *userData, larodError *error)
+
+ +

Callback used in larodRunJobAsync().

+

Callback function should not carry out relatively extensive blocking tasks (it will block the main poll thread for the message bus). Especially note that it must not call the synchronous calls larodRunJob() and larodDeleteModel().

+
Parameters
+ + + +
userDataUser data.
errorAn initialized error handle if any errors occured while running the job. Otherwise, it will be NULL. In this callback function, one must not free this handle with larodClearError(), since the library will do it when returning from this callback.
+
+
+ +
+
+ +

◆ larodTensor

+ +
+
+ + + + +
typedef struct larodTensor larodTensor
+
+ +

A type representing a tensor.

+

This type contains various information about a tensor, such as dimensions, data type, data file descriptor etcetera. The properties of a tensor is accessed by get and set functions (e.g. larodGetTensorDims()).

+ +
+
+

Enumeration Type Documentation

+ +

◆ larodAccess

+ +
+
+ + + + +
enum larodAccess
+
+ +

Enum type for specifying access.

+

Models can either be public or private; only the creator can modify private models, while anyone can modify public models.

+ + + + +
Enumerator
LAROD_ACCESS_INVALID 

Invalid access.

+
LAROD_ACCESS_PRIVATE 

Private access.

+
LAROD_ACCESS_PUBLIC 

Public access.

+
+ +
+
+ +

◆ larodChip

+ +
+
+ + + + +
enum larodChip
+
+ +

Enum type with supported chips.

+
Deprecated:
Replaced with larodDevice in larod 3.0. This type is still available in larod 3.0 and later if either LAROD_API_VERSION_1 or LAROD_API_VERSION_2 is defined before larod.h is included.
+

The chips in this enum are supported by larod.

+ + + + + + + + + + + + +
Enumerator
LAROD_CHIP_INVALID 

Invalid chip.

+
LAROD_CHIP_DEBUG 

Dummy chip for debugging.

+
LAROD_CHIP_TFLITE_CPU 

CPU with TensorFlow Lite.

+
LAROD_CHIP_TPU 

Google TPU.

+
LAROD_CHIP_CVFLOW_NN 

Ambarella CVFlow (NN).

+
LAROD_CHIP_TFLITE_GLGPU 

GPU with TensorFlow Lite. WARNING: This is an experimental chip which is subject to change.

+
LAROD_CHIP_CVFLOW_PROC 

Ambarella CVFlow (proc).

+
LAROD_CHIP_ACE 

Axis Compute Engine.

+
LAROD_CHIP_LIBYUV 

CPU with libyuv.

+
LAROD_CHIP_TFLITE_ARTPEC8DLPU 

ARTPEC-8 DLPU with TensorFlow Lite. WARNING: This is an experimental chip which is subject to change.

+
LAROD_CHIP_OPENCL 

Image processing using OpenCL.

+
+ +
+
+ +

◆ larodErrorCode

+ +
+
+ + + + +
enum larodErrorCode
+
+ +

Enum type for error codes.

+

These are set in larodError on errors. Note that only the negative values are defined in this enum explicitly. larodErrorCode can also be a positive value, this corresponds then to Linux style errno values.

+

For example, if the value is 12 (positive), that is then value of the Linux errno ENOMEM, which means "could not allocate memory". While a value of -4 (negative) is LAROD_ERROR_MODEL_NOT_FOUND defined in this enum.

+ + + + + + + + + + + + + + + + + + +
Enumerator
LAROD_ERROR_NONE 

No errors.

+
LAROD_ERROR_JOB 

General error for job.

+
LAROD_ERROR_INFERENCE 

General error for inference.

Deprecated:
Replaced with LAROD_ERROR_JOB in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
LAROD_ERROR_LOAD_MODEL 

General error for loading model.

+
LAROD_ERROR_FD 

Error regarding file descriptors.

+
LAROD_ERROR_MODEL_NOT_FOUND 

Model was not found.

+
LAROD_ERROR_PERMISSION 

Insufficient permissions.

+
LAROD_ERROR_CONNECTION 

Invalid connection.

+
LAROD_ERROR_CREATE_SESSION 

Could not create session.

+
LAROD_ERROR_KILL_SESSION 

Failed killing session.

+
LAROD_ERROR_INVALID_CHIP_ID 

Invalid chip ID.

+
LAROD_ERROR_INVALID_ACCESS 

Invalid access specifier.

+
LAROD_ERROR_DELETE_MODEL 

Error while deleting model.

+
LAROD_ERROR_TENSOR_MISMATCH 

Tensor mismatch.

+
LAROD_ERROR_VERSION_MISMATCH 

Version mismatch.

+
LAROD_ERROR_ALLOC 

Error while allocating.

+
LAROD_ERROR_MAX_ERRNO 

Max errno value (dummy value).

+
+ +
+
+ +

◆ larodTensorDataType

+ +
+
+ + + + +
enum larodTensorDataType
+
+ +

Enum type for specifying tensor data type.

+

As part of larodTensor these are used to describe the data type of a tensor.

+

If no data type is specified (LAROD_TENSOR_DATA_TYPE_UNSPECIFIED) for an input or output tensor when running a job, there will be no sanity check that it matches what the model expects.

+ + + + + + + + + + + + + + + + +
Enumerator
LAROD_TENSOR_DATA_TYPE_INVALID 

Invalid data type.

+
LAROD_TENSOR_DATA_TYPE_UNSPECIFIED 

No data type is specified.

+
LAROD_TENSOR_DATA_TYPE_BOOL 

1-bit boolean.

+
LAROD_TENSOR_DATA_TYPE_UINT8 

8-bit unsigned integer.

+
LAROD_TENSOR_DATA_TYPE_INT8 

8-bit signed integer.

+
LAROD_TENSOR_DATA_TYPE_UINT16 

16-bit unsigned integer.

+
LAROD_TENSOR_DATA_TYPE_INT16 

16-bit signed integer.

+
LAROD_TENSOR_DATA_TYPE_UINT32 

32-bit unsigned integer.

+
LAROD_TENSOR_DATA_TYPE_INT32 

32-bit signed integer.

+
LAROD_TENSOR_DATA_TYPE_UINT64 

64-bit unsigned integer.

+
LAROD_TENSOR_DATA_TYPE_INT64 

64-bit signed integer.

+
LAROD_TENSOR_DATA_TYPE_FLOAT16 

16-bit floating point.

+
LAROD_TENSOR_DATA_TYPE_FLOAT32 

32-bit floating point.

+
LAROD_TENSOR_DATA_TYPE_FLOAT64 

64-bit floating point.

+
LAROD_TENSOR_DATA_TYPE_MAX 

Max enum (dummy value).

+
+ +
+
+ +

◆ larodTensorLayout

+ +
+
+ + + + +
enum larodTensorLayout
+
+ +

Enum type for specifying tensor layout.

+

As part of larodTensor these are used to describe how to interpret the dimensions of a tensor.

+

N, H, W, C stands for batch size, height, width and channels respectively. However, the semantic interpretation of the dimensions can of course differ when working on image data that is not laid out in memory this way. The important thing is that input tensors sent for jobs have the same layout as what the model they are sent to expects, and similarly that outputs are interpreted according to the model's output layout.

+

LAROD_TENSOR_LAYOUT_420SP represents a semiplanar data layout with subsampling 4:2:0, such as for example the NV12 color format. With this layout the interpretations of what larodTensorDims and larodTensorPitches represent differ from the other layouts. The larodTensorPitches is expected to have 3 elements. The "rightmost" element, pitches[2], represents the total byte size of a single row in the image for both the plane separated data part and the plane interleaved part. The middle element, pitches[1], correspond to the total byte size of the plane separated data, including padding on the end, i.e. it is the offset in bytes to the plane interleaved part of the data. The first element, pitches[0], describe the total byte size of the data, all padding included. This also accounts for extra padding on the end of the buffer. For an explicit example, see larodTensorPitches. The larodTensorDims is also expected to have 3 elements. The first element dims[0] represents the number of channels and should always be equal to 3. The second element dims[1] corresponds to the height in pixels of the image, and dims[2] the width in pixels of the image. This layout is experimental.

+

If no layout is specified (LAROD_TENSOR_LAYOUT_UNSPECIFIED) for an input or output tensor when running a job, there will be no sanity check that it matches what the model expects.

+ + + + + + + +
Enumerator
LAROD_TENSOR_LAYOUT_INVALID 

Invalid layout.

+
LAROD_TENSOR_LAYOUT_UNSPECIFIED 

No layout is specified.

+
LAROD_TENSOR_LAYOUT_NHWC 

Tensor is laid out with dimensions NxHxWxC, this is also referred to as "color interleaved" image data. The len member of the larodTensorDims must be 4 or 0 ("unspecified") for this kind of layout.

+
LAROD_TENSOR_LAYOUT_NCHW 

Tensor is laid out with dimensions NxCxHxW, this is also referred to as "plane separated color" image data. The len member of the larodTensorDims must be 4 or 0 ("unspecified") for this kind of layout.

+
LAROD_TENSOR_LAYOUT_420SP 

Image format, subsampling 4:2:0, semiplanar data layout (experimental).

+
LAROD_TENSOR_LAYOUT_MAX 

Max enum (dummy value).

+
+ +
+
+

Function Documentation

+ +

◆ larodAllocModelInputs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
larodTensor** larodAllocModelInputs (larodConnectionconn,
const larodModelmodel,
const uint32_t fdPropFlags,
size_t * numTensors,
larodMapparams,
larodError ** error 
)
+
+ +

Create and allocate input tensors from a model.

+

Create input tensors according to what model requires. The tensors will be initialized with metadata such as data type, dims, layout etcetera based on information from the model.

+

The service will also allocate a buffer for each created tensor. These buffers are represented by the file descriptors set on the tensors and as such will be used to store the tensors' contents.

+

Furthermore, the buffers are guaranteed to meet the requirements specified in fdPropFlags (if non-zero) and the fd properties of each tensor will be set accordingly. If fdPropFlags is not set (i.e. zero), the service will decide for itself (based on model) which operations should be supported on the newly allocated tensors and thus set the fd properties accordingly (c.f. larodSetTensorFdProps()). In addition the service will automatically track each tensor, i.e. as if larodTrackTensor() would have been called on the newly created and allocated tensors (this increments the total number of tracked tensors for conn, see larodTrackTensor() for more details).

+

The buffers will be deallocated when conn closes, typically via a call to larodDisconnect(). The array of tensors needs to be released when it is no longer needed using larodDestroyTensors(). Note that the call to larodDestroyTensors() will not deallocate the allocated buffers.

+
Parameters
+ + + + + + + +
connAn initialized connection handle.
modelPointer to an initialized model handle.
fdPropFlagsAn indicator to the service of what kind of memory operations should be possible to perform on the file descriptors of the tensors. The relevant LAROD_FD_PROP_* flags should be or:ed together (bitmask) in this parameter. Can be set to 0 to let the service decide for itself which operations should be supported.
numTensorsOutput pointer that will be filled with number of entries in the returned array. This can be set to NULL if client does not need to retrieve this information (e.g. if the number is already known).
paramsAdditional larodDevice specific optional parameters (can be NULL). Please refer to the documentation for the larodDevice you are using to see what key-value pairs are applicable.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise pointer to an array of larodTensor pointers.
+ +
+
+ +

◆ larodAllocModelOutputs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
larodTensor** larodAllocModelOutputs (larodConnectionconn,
const larodModelmodel,
const uint32_t fdPropFlags,
size_t * numTensors,
larodMapparams,
larodError ** error 
)
+
+ +

Create and allocate output tensors from a model.

+

Create output tensors according to what model requires. The tensors will be initialized with metadata such as data type, dims, layout etcetera based on information from the model.

+

The service will also allocate a buffer for each created tensor. These buffers are represented by the file descriptors set on the tensors and as such will be used to store the tensors' contents.

+

Furthermore, the buffers are guaranteed to meet the requirements specified in fdPropFlags (if non-zero) and the fd properties of each tensor will be set accordingly. If fdPropFlags is not set (i.e. zero), the service will decide for itself (based on model) which operations should be supported on the newly allocated tensors and thus set the fd properties accordingly (c.f. larodSetTensorFdProps()). In addition the service will automatically track each tensor, i.e. as if larodTrackTensor() would have been called on the newly created and allocated tensors (this increments the total number of tracked tensors for conn, see larodTrackTensor() for more details).

+

The buffers will be deallocated when conn closes, typically via a call to larodDisconnect(). The array of tensors needs to be released when it is no longer needed using larodDestroyTensors(). Note that the call to larodDestroyTensors() will not deallocate the allocated buffers.

+
Parameters
+ + + + + + + +
connAn initialized connection handle.
modelPointer to an initialized model handle.
fdPropFlagsAn indicator to the service of what kind of memory operations should be possible to perform on the file descriptors of the tensors. The relevant LAROD_FD_PROP_* flags should be or:ed together (bitmask) in this parameter. Can be set to 0 to let the service decide for itself which operations should be supported.
numTensorsOutput pointer that will be filled with number of entries in the returned array. This can be set to NULL if client does not need to retrieve this information (e.g. if the number is already known).
paramsAdditional larodDevice specific optional parameters (can be NULL). Please refer to the documentation for the larodDevice you are using to see what key-value pairs are applicable.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise pointer to an array of larodTensor pointers.
+ +
+
+ +

◆ larodClearError()

+ +
+
+ + + + + + + + +
void larodClearError (larodError ** error)
+
+ +

Deallocate an error handle.

+

Functions that has an argument of type larodError** allocates larodError when errors occur. This function should then later be used to deallocate it.

+
Parameters
+ + +
errorAn initialized error handle or NULL. If error is NULL this function will do nothing. *error will be set to NULL after this call.
+
+
+ +
+
+ +

◆ larodConnect()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool larodConnect (larodConnection ** conn,
larodError ** error 
)
+
+ +

Connect to larod.

+

Connects to larod and creates a new session. Upon success, this allocates the connection handle conn and must thus be freed afterwards with with larodDisconnect().

+
Parameters
+ + + +
connAn uninitialized connection handle.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodCreateInferenceRequest()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
larodInferenceRequest* larodCreateInferenceRequest (const larodModelmodel,
larodTensor ** inputTensors,
size_t numInputs,
larodTensor ** outputTensors,
size_t numOutputs,
larodError ** error 
)
+
+ +

Create and initialize an inference request handle.

+

Creates and initializes an inference request handle with a minimum set of arguments needed to run an inference. The inference request needs to be deallocated with larodDestroyInferenceRequest() when no longer needed.

+

The tensor data and model information is copied into the larodInferenceRequest when it is created. The input and output file descriptors specified in the tensors inputTensors and outputTensors must have reading and writing permissions respectively when running the inference. Moreover, inputTensors file descriptors' file offsets will be set to the beginning before reading, while outputTensors file descriptors' file offsets will be untouched before writing (and left at the resulting position after the write).

+
Deprecated:
Replaced with larodCreateJobRequest() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + + + + +
modelLoaded model to run inference on.
inputTensorsArray of input tensors.
numInputsNumber of input tensors.
outputTensorsArray of output tensors.
numOutputsNumber of output tensors.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise a pointer to an initialized inference request.
+ +
+
+ +

◆ larodCreateJobRequest()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
larodJobRequest* larodCreateJobRequest (const larodModelmodel,
larodTensor ** inputTensors,
size_t numInputs,
larodTensor ** outputTensors,
size_t numOutputs,
larodMapparams,
larodError ** error 
)
+
+ +

Create and initialize a job request handle.

+

Creates and initializes a job request handle with a minimum set of arguments needed to run a job. The job request needs to be deallocated with larodDestroyJobRequest() when no longer needed.

+

The tensor data and model information is copied into the larodJobRequest when it is created. The input and output file descriptors specified in the tensors inputTensors and outputTensors must have reading and writing permissions respectively when running the job. Moreover, inputTensors file descriptors' file offsets will be set to the beginning before reading, while outputTensors file descriptors' file offsets will be untouched before writing (and left at the resulting position after the write).

+
Parameters
+ + + + + + + + +
modelLoaded model to run the job on.
inputTensorsArray of input tensors.
numInputsNumber of input tensors.
outputTensorsArray of output tensors.
numOutputsNumber of output tensors.
paramsAdditional optional parameters (can be NULL). Please refer to the documentation for the chip you are using to see what key-value pairs are applicable.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise a pointer to an initialized request.
+ +
+
+ +

◆ larodCreateMap()

+ +
+
+ + + + + + + + +
larodMap* larodCreateMap (larodError ** error)
+
+ +

Create new larodMap.

+

Creates and initializes a handle to a mapping of key-value pairs. This struct is used to send additional information to the service, see for instance larodLoadModel. In particular, this struct may contain information that is relevant to only one, or a few backends.

+

It can hold various different data types as values and each value is identified via a key string. Adding key-value pairs to the mapping should be done using the set functions larodMapSetStr(), larodMapSetInt(), etcetera, and accessing the elements should be done via the get functions larodMapGetStr(), larodMapGetInt(), and so on. Strings added to this map has a maximum allowed length of 128 bytes (including terminating NULL-byte).

+

Once the mapping is no longer needed it should be destroyed using larodDestroyMap(). When key-value pairs are added to the map copies of the data are created, and the allocated memory is managed internally.

+
Parameters
+ + +
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise a pointer to an initialized larodMap struct. Should be destroyed using larodDestroyMap when no longer needed.
+ +
+
+ +

◆ larodCreateModelInputs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
larodTensor** larodCreateModelInputs (const larodModelmodel,
size_t * numTensors,
larodError ** error 
)
+
+ +

Create input tensors from a model.

+

Create input tensors according to what model requires. The tensors will be initialized with metadata such as data type, dims, layout etcetera based on information from the model.

+

The created tensors will not have buffers allocated for their contents. For this reason the tensors will have file descriptors set to -1 (invalid) but fd properties will however be set to LAROD_FD_PROP_READWRITE (for backward compatibility). The user will have to allocate buffers for the tensors by themselves and then set the aforementioned tensor fields accordingly using the relevant set functions.

+

The array of tensors needs to be released when it is no longer needed using larodDestroyTensors(). To make the service track a returned tensor for subsequent jobs, larodTrackTensor() must be called on that tensor, prior to running the first job.

+
Parameters
+ + + + +
modelPointer to an initialized model handle.
numTensorsOutput pointer that will be filled with number of entries in the returned array. This can be set to NULL if client does not need to retrieve this information (e.g. if the number is already known).
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise pointer to an array of larodTensor pointers.
+ +
+
+ +

◆ larodCreateModelOutputs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
larodTensor** larodCreateModelOutputs (const larodModelmodel,
size_t * numTensors,
larodError ** error 
)
+
+ +

Create output tensors from a model.

+

Create output tensors according to what model requires. The tensors will be initialized with metadata such as data type, dims, layout etcetera based on information from the model.

+

The created tensors will not have buffers allocated for their contents. For this reason the tensors will have file descriptors set to -1 (invalid) but fd properties will however be set to LAROD_FD_PROP_READWRITE (for backward compatibility). The user will have to allocate buffers for the tensors by themselves and then set the aforementioned tensor fields accordingly using the relevant set functions.

+

The array of tensors needs to be released when it is no longer needed using larodDestroyTensors(). To make the service track a returned tensor for subsequent jobs, larodTrackTensor() must be called on that tensor, prior to running the first job.

+
Parameters
+ + + + +
modelPointer to an initialized model handle.
numTensorsOutput pointer that will be filled with number of entries in the returned array. This can be set to NULL if client does not need to retrieve this information (e.g. if the number is already known).
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise pointer to an array of larodTensor pointers.
+ +
+
+ +

◆ larodCreateTensors()

+ +
+
+ + + + + + + + + + + + + + + + + + +
larodTensor** larodCreateTensors (size_t numTensors,
larodError ** error 
)
+
+ +

Create a list of empty larodTensor handles.

+

Creates a list of larodTensor. After a successful call, various attributes can be set on these tensors. The returned allocated array needs to be released with larodDestroyTensors() when no longer needed.

+

New tensors created with this function will have the following default values set on the attributes:

+ +
Parameters
+ + + +
numTensorsNumber of tensors to create.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise pointer to an array of larodTensor pointers.
+ +
+
+ +

◆ larodDeleteModel()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodDeleteModel (larodConnectionconn,
larodModelmodel,
larodError ** error 
)
+
+ +

Delete a loaded model.

+

A public model can be deleted by anyone. However, for private models, only the creator has permission to delete it (if the creator disconnects, the private models will automatically get deleted).

+

The model handle model will not be released after a successful call. Consequently larodDestroyModel() should be called for model when no longer needed.

+
Parameters
+ + + + +
connAn initialized connection handle.
modelModel to delete.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodDestroyInferenceRequest()

+ +
+
+ + + + + + + + +
void larodDestroyInferenceRequest (larodInferenceRequest ** infReq)
+
+ +

Destroy an inference request handle.

+

infReq should not be used after this call.

+
Deprecated:
Replaced with larodDestroyJobRequest() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + +
infReqPointer to an initialized handle or NULL. The dereferenced infReq will be set to NULL after the inference request is released. If infReq is NULL this function will nothing.
+
+
+ +
+
+ +

◆ larodDestroyJobRequest()

+ +
+
+ + + + + + + + +
void larodDestroyJobRequest (larodJobRequest ** jobReq)
+
+ +

Destroy a request handle.

+

jobReq should not be used after this call.

+
Parameters
+ + +
jobReqPointer to an initialized handle or NULL. The dereferenced jobReq will be set to NULL after the job request is released. If jobReq is NULL this function will nothing.
+
+
+ +
+
+ +

◆ larodDestroyMap()

+ +
+
+ + + + + + + + +
void larodDestroyMap (larodMap ** map)
+
+ +

Destroy a larodMap.

+

Releases all memory associated with a larodMap, including allocated key-value pairs. map should not be used after this call.

+
Parameters
+ + +
mapPointer to an initialized handle of a larodMap or NULL.
+
+
+ +
+
+ +

◆ larodDestroyModel()

+ +
+
+ + + + + + + + +
void larodDestroyModel (larodModel ** model)
+
+ +

Free an allocated larodModel handle.

+

Release the memory for a model handle. model must not be used after this call. The model will not be deleted in the server by this call. Use larodDeleteModel() to accomplish this.

+
Parameters
+ + +
modelPointer to model (allocated from e.g a larodLoadModel() call) or NULL. The model handle will be released and then the dereferenced model will be set to NULL. If model is NULL this function will do nothing.
+
+
+ +
+
+ +

◆ larodDestroyModels()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void larodDestroyModels (larodModel *** models,
size_t numModels 
)
+
+ +

Destroy a list of model objects.

+

Release all data associated with models (which was returned by larodGetModels()). The pointer models must not be used after this call.

+
Parameters
+ + + +
modelsPointer to allocated (with larodGetModels()) list of models or NULL. The dereferenced models will be set to NULL after release of the list. If models is NULL this function will do nothing.
numModelsNumber of models in the models array.
+
+
+ +
+
+ +

◆ larodDestroyTensors() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodDestroyTensors (larodConnectionconn,
larodTensor *** tensors,
size_t numTensors,
larodError ** error 
)
+
+ +

Destroy a list of larodTensor.

+

Releases the memory associated with a list of larodTensor handles. Neither the pointers in the tensors array nor the array itself can be used after this call.

+

If tensors have been allocated by the service (i.e. with larodAllocModelInputs() or larodAllocModelOutputs()), this call will also deallocate these buffers. Moreover, if any tensor in tensors has been requested to be tracked (i.e. with larodTrackTensor()), it will not be tracked anymore by the service as well.

+
Parameters
+ + + + + +
connAn initialized connection handle.
tensorsPointer to array of larodTensor pointers or NULL. The dereferenced tensors will be set to NULL after the list is released. If tensors is NULL, this function will do nothing.
numTensorsNumber of tensors in the tensors array.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true. Errors can only occur if tensors have been previously allocated by the service or been requested to be tracked. Therefore, it is safe to ignore the return value (and error) if one knows that no allocation or tracking requests have been done on tensors.
+ +
+
+ +

◆ larodDestroyTensors() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void larodDestroyTensors (larodTensor *** tensors,
size_t numTensors 
)
+
+ +

Destroy a list of larodTensor.

+

Releases the memory associated with a list of larodTensor handles. Neither the pointers in the tensors array nor the array itself can be used after this call.

+
Deprecated:
Replaced with larodDestroyTensors() with an additional input parameters in larod 3.0. This function is still available in larod 3.0 and later if either LAROD_API_VERSION_1 or LAROD_API_VERSION_2 is defined before larod.h is included.
+
Parameters
+ + + +
tensorsPointer to array of larodTensor pointers or NULL. The dereferenced tensors will be set to NULL after the list is released. If tensors is NULL, this function will do nothing.
numTensorsNumber of tensors in the tensors array.
+
+
+ +
+
+ +

◆ larodDisconnect()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool larodDisconnect (larodConnection ** conn,
larodError ** error 
)
+
+ +

Disconnect from larod.

+

Disconnects from larod and kills the corresponding session. This will always deallocate the connection handle conn and set it to NULL (as well as other allocated stuff). The return value indicates if the corresponding session in larod was successfully killed.

+
Parameters
+ + + +
connAn initialized connection handle. The dereferenced conn will be set to NULL after the connection is released. If conn is NULL this function will do nothing.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodGetChipId()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodGetChipId (larodConnectionconn,
uint64_t * chipId,
larodError ** error 
)
+
+ +

Get current chip ID in use for the session in larod.

+
Deprecated:
Replaced with larodGetModelChip() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + +
connAn initialized connection handle.
chipIdPointer to the variable where the result will be stored.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodGetChipType()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodGetChipType (larodConnectionconn,
larodChipchipType,
larodError ** error 
)
+
+ +

Get current chip type in use for the session in larod.

+
Deprecated:
Replaced with larodGetModelChip() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + +
connAn initialized connection handle.
chipTypePointer to the variable where the result will be stored.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodGetDevice()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
const larodDevice* larodGetDevice (const larodConnectionconn,
const char * name,
const uint32_t instance,
larodError ** error 
)
+
+ +

Get an available device.

+

This function returns a device handle. Use this for referencing the device in other functions such as larodLoadModel().

+

The caller does not get ownership of the returned pointer and must not attempt to free it. The lifetime of the memory pointed to expires when conn closes.

+
Parameters
+ + + + + +
connAn initialized connection handle.
nameThe name of the device to get.
instanceThe instance number of the device to get (c.f. larodGetDeviceInstance()).
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if any error occurred, otherwise pointer to the found device. The pointer must not be freed by the caller.
+ +
+
+ +

◆ larodGetDeviceInstance()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodGetDeviceInstance (const larodDevicedev,
uint32_t * instance,
larodError ** error 
)
+
+ +

Get the instance number of a device.

+

In case there are multiple identical devices that are available in the service, they are distinguished by an instance number, with the first instance starting from zero. Devices are identical in this context if they have equal names (c.f. larodGetDeviceName()).

+

Do note that not all device types have multiple-instance support; for such cases, there will only be a single instance, which is zero.

+
Parameters
+ + + + +
devA pointer to a device.
instancePointer to the variable where the result will be stored.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodGetDeviceName()

+ +
+
+ + + + + + + + + + + + + + + + + + +
const char* larodGetDeviceName (const larodDevicedev,
larodError ** error 
)
+
+ +

Get the name of a device.

+
Parameters
+ + + +
devA pointer to a device.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
Device name as NULL-terminated string, or NULL if error occurred. The pointer must not be freed by the caller.
+ +
+
+ +

◆ larodGetModel()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
larodModel* larodGetModel (larodConnectionconn,
const uint64_t modelId,
larodError ** error 
)
+
+ +

Get handle to a model by model ID.

+

The model ID could for example be retrieved with larodGetModelId().

+
Parameters
+ + + + +
connAn initialized connection handle.
modelIdModel ID to get the corresponding model handle for.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if any errors occur, otherwise a valid pointer to larodModel. The returned pointer should be released with larodDestroyModel() when it is no longer needed.
+ +
+
+ +

◆ larodGetModelAccess()

+ +
+
+ + + + + + + + + + + + + + + + + + +
larodAccess larodGetModelAccess (const larodModelmodel,
larodError ** error 
)
+
+ +

Get model access mode.

+
Parameters
+ + + +
modelPointer to an initialized model handle.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is LAROD_ACCESS_INVALID), it must later be deallocated with larodClearError().
+
+
+
Returns
LAROD_ACCESS_INVALID if error has occurred, otherwise a valid model access.
+ +
+
+ +

◆ larodGetModelChip()

+ +
+
+ + + + + + + + + + + + + + + + + + +
larodChip larodGetModelChip (const larodModelmodel,
larodError ** error 
)
+
+ +

Get chip for a model.

+
Deprecated:
Replaced with larodGetDevice in larod 3.0. This function is still available in larod 3.0 and later if LAROD_API_VERSION_2 is defined before larod.h is included.
+
Parameters
+ + + +
modelPointer to an initialized model handle.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is LAROD_INVALID_MODEL_ID), it must later be deallocated with larodClearError().
+
+
+
Returns
LAROD_CHIP_INVALID if error has occurred, otherwise the associated chip for model.
+ +
+
+ +

◆ larodGetModelDevice()

+ +
+
+ + + + + + + + + + + + + + + + + + +
const larodDevice* larodGetModelDevice (const larodModelmodel,
larodError ** error 
)
+
+ +

Get device for a model.

+

The caller does not get ownership of the returned pointer and must not attempt to free it. The lifetime of the device pointed to expires when the larodConnection the model was loaded from closes.

+
Parameters
+ + + +
modelPointer to an initialized model handle.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error has occurred, otherwise a pointer to the device that is model associated with the model. The pointer must not be freed by the caller.
+ +
+
+ +

◆ larodGetModelId()

+ +
+
+ + + + + + + + + + + + + + + + + + +
uint64_t larodGetModelId (const larodModelmodel,
larodError ** error 
)
+
+ +

Get model ID.

+

All models have a unique ID.

+
Parameters
+ + + +
modelPointer to an initialized model handle.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is LAROD_INVALID_MODEL_ID), it must later be deallocated with larodClearError().
+
+
+
Returns
LAROD_INVALID_MODEL_ID if error has occurred, otherwise a valid model ID.
+ +
+
+ +

◆ larodGetModelInputByteSizes()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t* larodGetModelInputByteSizes (const larodModelmodel,
size_t * numInputs,
larodError ** error 
)
+
+ +

Get input tensor byte sizes for a model.

+
Deprecated:
Replaced with larodGetTensorByteSize() in larod 3.1. Will be removed in a future release.
+

Allocate input tensors byte sizes based on a larodModel. The array of byte sizes needs to be released when it is no longer needed by calling free().

+
Parameters
+ + + + +
modelPointer to an initialized model handle.
numInputsOutput pointer that will be filled with number of input tensors. This can be set to NULL if client does not need to retrieve this information (e.g. if the number is already known).
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise pointer to an array of input tensor byte sizes.
+ +
+
+ +

◆ larodGetModelName()

+ +
+
+ + + + + + + + + + + + + + + + + + +
const char* larodGetModelName (const larodModelmodel,
larodError ** error 
)
+
+ +

Get model name.

+

The returned pointer is valid as long as model handle is valid, the caller does not need to deallocate it.

+
Parameters
+ + + +
modelPointer to an initialized model handle.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
Model name as NULL-terminated string, or NULL if error occurred. The pointer must not be freed by the caller.
+ +
+
+ +

◆ larodGetModelNumInputs()

+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t larodGetModelNumInputs (const larodModelmodel,
larodError ** error 
)
+
+ +

Get number of input tensors for a model.

+
Parameters
+ + + +
modelPointer to an initialized model handle.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is 0), it must later be deallocated with larodClearError().
+
+
+
Returns
Number of input tensors or 0 if error occurred.
+ +
+
+ +

◆ larodGetModelNumOutputs()

+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t larodGetModelNumOutputs (const larodModelmodel,
larodError ** error 
)
+
+ +

Get number of output tensors for a model.

+
Parameters
+ + + +
modelPointer to an initialized model handle.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is 0), it must later be deallocated with larodClearError().
+
+
+
Returns
Number of output tensors or 0 if error occurred.
+ +
+
+ +

◆ larodGetModelOutputByteSizes()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t* larodGetModelOutputByteSizes (const larodModelmodel,
size_t * numOutputs,
larodError ** error 
)
+
+ +

Get output tensor byte sizes for a model.

+
Deprecated:
Replaced with larodGetTensorByteSize() in larod 3.1. Will be removed in a future release.
+

Allocate output tensors byte sizes based on a larodModel. The array of byte sizes needs to be released when it is no longer needed by calling free().

+
Parameters
+ + + + +
modelPointer to an initialized model handle.
numOutputsOutput pointer that will be filled with number of output tensors. This can be set to NULL if client does not need to retrieve this information (e.g. if the number is already known).
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise pointer to an array of output tensor byte sizes.
+ +
+
+ +

◆ larodGetModels()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
larodModel** larodGetModels (larodConnectionconn,
size_t * numModels,
larodError ** error 
)
+
+ +

Get all loaded models.

+

Retrieve a list of all loaded models. Caller needs to free this list afterwards with the function larodDestroyModels().

+

If any of the returned models' sizes exceeds the address space size of this system, then SIZE_MAX will be the listed as the model size (see larodGetModelSize()).

+
Parameters
+ + + + +
connAn initialized connection handle.
numModelsOutput pointer that will be filled with number of entries in the returned array. If the number of loaded models is 0 in the server, this pointer will be set accordingly. If an error occurred the target of this pointer remains untouched.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if any errors occurred, an array with a single element NULL if the number of loaded models is 0 in the service, and otherwise an array of pointers to larodModel.
+ +
+
+ +

◆ larodGetModelSize()

+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t larodGetModelSize (const larodModelmodel,
larodError ** error 
)
+
+ +

Get model size.

+

Get size (in bytes) of a loaded model.

+
Parameters
+ + + +
modelPointer to an initialized model handle.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is 0), it must later be deallocated with larodClearError().
+
+
+
Returns
Model size in bytes or 0 if error occurred.
+ +
+
+ +

◆ larodGetNumSessions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodGetNumSessions (larodConnectionconn,
uint64_t * numSessions,
larodError ** error 
)
+
+ +

Get number of currently active sessions in larod.

+
Parameters
+ + + + +
connAn initialized connection handle.
numSessionsPointer to the variable where the result will be stored.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodGetTensorByteSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodGetTensorByteSize (const larodTensortensor,
size_t * byteSize,
larodError ** error 
)
+
+ +

Get byte size of tensor.

+

Returns the size of the supplied tensor in bytes. A value of zero means that the size is undefined.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
byteSizeOutput pointer that will be filled with the byte size of the tensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if an error occured, otherwise true.
+ +
+
+ +

◆ larodGetTensorDataType()

+ +
+
+ + + + + + + + + + + + + + + + + + +
larodTensorDataType larodGetTensorDataType (const larodTensortensor,
larodError ** error 
)
+
+ +

Get data type of a tensor.

+
Parameters
+ + + +
tensorPointer to an already allocated larodTensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is LAROD_TENSOR_DATA_TYPE_INVALID), it must later be deallocated with larodClearError().
+
+
+
Returns
LAROD_TENSOR_DATA_TYPE_INVALID if error has occurred, otherwise a valid tensor data type.
+ +
+
+ +

◆ larodGetTensorDims()

+ +
+
+ + + + + + + + + + + + + + + + + + +
const larodTensorDims* larodGetTensorDims (const larodTensortensor,
larodError ** error 
)
+
+ +

Get dimensions of a tensor.

+

See larodTensorDims for definition of dimensions and larodTensorPitches for how they are related to tensors' pitches.

+
Parameters
+ + + +
tensorPointer to an already allocated larodTensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise a pointer to larodTensorDims instance. This pointer is valid as long as tensor is valid and should not be freed manually by the caller.
+ +
+
+ +

◆ larodGetTensorFd()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int larodGetTensorFd (const larodTensortensor,
larodError ** error 
)
+
+ +

Get file descriptor of a tensor.

+
Parameters
+ + + +
tensorPointer to an already allocated larodTensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is LAROD_INVALID_FD), it must later be deallocated with larodClearError().
+
+
+
Returns
LAROD_INVALID_FD if error occurred, otherwise a valid file descriptor.
+ +
+
+ +

◆ larodGetTensorFdOffset()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int64_t larodGetTensorFdOffset (const larodTensortensor,
larodError ** error 
)
+
+ +

Get file offset for a tensor.

+

Retrieves the user-supplied file offset (bytes) of the file descriptor associated with tensor, i.e. the value set by larodSetTensorFdOffset() or default value 0.

+
Parameters
+ + + +
tensorPointer to an already allocated larodTensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is -1), it must later be deallocated with larodClearError().
+
+
+
Returns
-1 if error occurred, otherwise the configured offset value.
+ +
+
+ +

◆ larodGetTensorFdProps()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodGetTensorFdProps (const larodTensortensor,
uint32_t * fdPropFlags,
larodError ** error 
)
+
+ +

Get the properties of a file descriptor of a tensor.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
fdPropFlagsPointer to a variable that will indicate what kind of memory operations are possible to perform on the fd of tensor. These properties will be represented as an or:ing together (bitmask) of relevant LAROD_FD_PROP_* flags.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodGetTensorFdSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodGetTensorFdSize (const larodTensortensor,
size_t * size,
larodError ** error 
)
+
+ +

Get file descriptor maximum capacity (bytes) for a tensor.

+

Retrieves the user-supplied file descriptor maximum capacity (bytes) of a tensor, i.e. the value set by larodSetTensorFdSize() or default value 0. Please refer to larodSetTensorFdSize() for details about the size value.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
sizeOutput pointer, the dereferenced pointer will be updated with currently set size.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodGetTensorLayout()

+ +
+
+ + + + + + + + + + + + + + + + + + +
larodTensorLayout larodGetTensorLayout (const larodTensortensor,
larodError ** error 
)
+
+ +

Get layout of a tensor.

+
Parameters
+ + + +
tensorPointer to an already allocated larodTensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is LAROD_TENSOR_LAYOUT_INVALID), it must later be deallocated with larodClearError().
+
+
+
Returns
LAROD_TENSOR_LAYOUT_INVALID if error occurred, otherwise a valid larodTensorLayout.
+ +
+
+ +

◆ larodGetTensorName()

+ +
+
+ + + + + + + + + + + + + + + + + + +
const char* larodGetTensorName (const larodTensortensor,
larodError ** error 
)
+
+ +

Get name of tensor.

+

Returns a reference to a string representing the name of the supplied tensor. The returned string pointer is valid as long as tensor is valid.

+
Parameters
+ + + +
tensorPointer to an already allocated larodTensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise a pointer to an initialized string representing the name of tensor.
+ +
+
+ +

◆ larodGetTensorPitches()

+ +
+
+ + + + + + + + + + + + + + + + + + +
const larodTensorPitches* larodGetTensorPitches (const larodTensortensor,
larodError ** error 
)
+
+ +

Get pitches of a tensor.

+

See larodTensorPitches for the definition of pitches.

+
Parameters
+ + + +
tensorPointer to an already allocated larodTensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise a pointer to larodTensorDims instance. This pointer is valid as long as tensor is valid and should not be freed manually by the caller.
+ +
+
+ +

◆ larodListChips()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodListChips (larodConnectionconn,
larodChip ** chips,
size_t * numChips,
larodError ** error 
)
+
+ +

List available chips.

+
Deprecated:
Replaced with larodListDevices in larod 3.0. This function is still available in larod 3.0 and later if either LAROD_API_VERSION_1 or LAROD_API_VERSION_2 is defined before larod.h is included.
+

Fills chips with a list of available larodChip sorted in no particular order.

+
Warning
The parameter numChips has changed meaning in larod 1.3. Before larod 1.3, this parameter was used for the size (in bytes) of the chips array.
+
Parameters
+ + + + + +
connAn initialized connection handle.
chipsPointer to a pointer where an array of returned chips will be allocated to. After a successful call, you should thus free *chips!
numChipsOutput pointer that will be filled with number of chips. This can be set to NULL if client does not need to retrieve this information.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodListDevices()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
const larodDevice** larodListDevices (larodConnectionconn,
size_t * numDevices,
larodError ** error 
)
+
+ +

List available devices.

+

The caller does not get ownership of the returned double pointer and must not attempt to free it. The lifetimes of the devices pointed to expire when conn closes.

+
Parameters
+ + + + +
connAn initialized connection handle.
numDevicesOutput pointer that is filled with the number of devices.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if any error occur, otherwise a list of pointers to all available devices. The list must not be freed by the caller.
+ +
+
+ +

◆ larodLoadModel() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
larodModel* larodLoadModel (larodConnectionconn,
const int fd,
const larodDevicedev,
const larodAccess access,
const char * name,
const larodMapparams,
larodError ** error 
)
+
+ +

Load a new model.

+

This function returns a model handle. Use this for referencing the loaded model in other functions such as larodDeleteModel(), larodCreateJobRequest() etcetera. Note that the file descriptor fd for the binary model file must have valid reading permissions.

+
Parameters
+ + + + + + + + +
connAn initialized connection handle.
fdFile descriptor to the model data. This can be set to a negative value (i.e. invalid) if params is also specified (not NULL).
devDevice to load model onto.
accessAccess specifier for the model.
nameName for the model.
paramsAdditional optional parameters (can be NULL). Please refer to the documentation for the chip you are using to see what key-value pairs are applicable.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL) it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if any errors occur, otherwise a valid pointer to larodModel. The returned pointer should be released with larodDestroyModel() when it is no longer needed.
+ +
+
+ +

◆ larodLoadModel() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
larodModel* larodLoadModel (larodConnectionconn,
const int fd,
const larodAccess access,
const char * name,
larodError ** error 
)
+
+ +

Load a new model to current chip.

+

This function returns a model handle. Use this for referencing the loaded model in other functions such as larodDeleteModel(), larodCreateInferenceRequest() etcetera. Note that the file descriptor fd for the binary model file must have valid reading permissions.

+
Deprecated:
Replaced with larodLoadModel() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + + + +
connAn initialized connection handle.
fdFile descriptor to the model data.
accessAccess specifier for the model.
nameName for the model.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL) it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if any errors occur, otherwise a valid pointer to larodModel. The returned pointer should be released with larodDestroyModel() when it is no longer needed.
+ +
+
+ +

◆ larodLoadModel() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
larodModel* larodLoadModel (larodConnectionconn,
const int fd,
const larodChip chip,
const larodAccess access,
const char * name,
const larodMapparams,
larodError ** error 
)
+
+ +

Load a new model.

+

This function returns a model handle. Use this for referencing the loaded model in other functions such as larodDeleteModel(), larodCreateJobRequest() etcetera. Note that the file descriptor fd for the binary model file must have valid reading permissions.

+
Deprecated:
Replaced with larodLoadModel() in larod 3.0. This function is still available in larod 3.0 and later if LAROD_API_VERSION_2 is defined before larod.h is included.
+
Parameters
+ + + + + + + + +
connAn initialized connection handle.
fdFile descriptor to the model data. This can be set to a negative value (i.e. invalid) if params is also specified (not NULL).
chipChip type to load model onto.
accessAccess specifier for the model.
nameName for the model.
paramsAdditional optional parameters (can be NULL). Please refer to the documentation for the chip you are using to see what key-value pairs are applicable.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL) it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if any errors occur, otherwise a valid pointer to larodModel. The returned pointer should be released with larodDestroyModel() when it is no longer needed.
+ +
+
+ +

◆ larodLoadModelAsync() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodLoadModelAsync (larodConnectionconn,
const int inFd,
const larodDevicedev,
const larodAccess access,
const char * name,
const larodMapparams,
larodLoadModelCallback callback,
void * userData,
larodError ** error 
)
+
+ +

Load a new model asynchronously.

+

This is the asynchronous version of larodLoadModel(). The callback function callback will be called as soon as the model has been loaded.

+
Parameters
+ + + + + + + + + + +
connAn initialized connection handle.
fdFile descriptor to the model data. This can be set to a negative value (i.e. invalid) if params is also specified (not NULL).
devDevice to load model onto.
accessAccess specifier for the model.
nameName for the model.
paramsAdditional optional parameters (can be NULL). Please refer to the documentation for the chip you are using to see what key-value pairs are applicable.
callbackCallback function.
userDataUser data that will be passed to the callback function.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodLoadModelAsync() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodLoadModelAsync (larodConnectionconn,
const int fd,
const larodAccess access,
const char * name,
larodLoadModelCallback callback,
void * userData,
larodError ** error 
)
+
+ +

Load a new model to current chip asynchronously.

+

This is the asynchronous version of larodLoadModel(). The callback function callback will be called as soon as the model has been loaded.

+
Deprecated:
Replaced with larodLoadModelAsync() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + + + + + +
connAn initialized connection handle.
fdFile descriptor to the model data.
accessAccess specifier for the model.
nameName for the model.
callbackCallback function.
userDataUser data that will passed to the callback function.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodLoadModelAsync() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodLoadModelAsync (larodConnectionconn,
const int fd,
const larodChip chip,
const larodAccess access,
const char * name,
const larodMapparams,
larodLoadModelCallback callback,
void * userData,
larodError ** error 
)
+
+ +

Load a new model asynchronously.

+

This is the asynchronous version of larodLoadModel(). The callback function callback will be called as soon as the model has been loaded.

+
Deprecated:
Replaced with larodLoadModelAsync() in larod 3.0. This function is still available in larod 3.0 and later if LAROD_API_VERSION_2 is defined before larod.h is included.
+
Parameters
+ + + + + + + + + + +
connAn initialized connection handle.
fdFile descriptor to the model data. This can be set to a negative value (i.e. invalid) if params is also specified (not NULL).
chipChip type to load model onto.
accessAccess specifier for the model.
nameName for the model.
paramsAdditional optional parameters (can be NULL). Please refer to the documentation for the chip you are using to see what key-value pairs are applicable.
callbackCallback function.
userDataUser data that will be passed to the callback function.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodMapGetInt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodMapGetInt (larodMapmap,
const char * key,
int64_t * value,
larodError ** error 
)
+
+ +

Get an integer type value tied to given key.

+

Get a 64-bit integer corresponding to the given key. If the key is not found in map, or if the key exists, but the value is not an integer type an error is reported. The key string should be at maximum 128 bytes long (including terminating NULL-byte).

+
Parameters
+ + + + + +
mapObject to search for the key.
keyKey string to search for.
valueOutput pointer for value to be extracted. The referenced memory will be set to the value of the requested key if call is successful, otherwise it will not be changed.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodMapGetIntArr2()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
const int64_t* larodMapGetIntArr2 (larodMapmap,
const char * key,
larodError ** error 
)
+
+ +

Get an integer array of two elements tied to given key.

+

Get a 64-bit integer array of two elements, corresponding to the given key. If the key is not found in map, or if the key exists, but the value is not an integer array of two elements an error is reported. The key string should be at maximum 128 bytes long (including terminating NULL-byte).

+
Parameters
+ + + + +
mapObject to search for the key.
keyKey string to search for.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise pointer to an array of two elements corresponding to the given key. Should not be freed by the user.
+ +
+
+ +

◆ larodMapGetIntArr4()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
const int64_t* larodMapGetIntArr4 (larodMapmap,
const char * key,
larodError ** error 
)
+
+ +

Get an integer array of four elements tied to given key.

+

Get a 64-bit integer array of four elements, corresponding to the given key. If the key is not found in map, or if the key exists, but the value is not an integer array of four elements an error is reported. The key string should be at maximum 128 bytes long (including terminating NULL-byte).

+
Parameters
+ + + + +
mapObject to search for the key.
keyKey string to search for.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise pointer to an array of four elements corresponding to the given key. Should not be freed by the user.
+ +
+
+ +

◆ larodMapGetStr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
const char* larodMapGetStr (larodMapmap,
const char * key,
larodError ** error 
)
+
+ +

Get string type value tied to given key.

+

Get a string value corresponding to the given key. If the key is not found in map, or if the key exists, but the value is not a string type an error is reported. The key string should be at maximum 128 bytes long (including terminating NULL-byte).

+
Parameters
+ + + + +
mapObject to search for the key.
keyKey string to search for.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
NULL if error occurred, otherwise a string corresponding to the given key. Should not be freed by the user.
+ +
+
+ +

◆ larodMapSetInt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodMapSetInt (larodMapmap,
const char * key,
const int64_t value,
larodError ** error 
)
+
+ +

Add an integer to a larodMap object.

+

Adds a 64-bit integer to a larodMap object and associates the value with a string given by key. If an integer type value already exists for the given key it will be replaced by the new value. If a value already exists for the given key, but the value is of another type an error will be reported. The key string should be at maximum 128 bytes long (including terminating NULL-byte).

+
Parameters
+ + + + + +
mapHandle to a larodMap object.
keyString key to identify value with.
valueValue to associate with key.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodMapSetIntArr2()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodMapSetIntArr2 (larodMapmap,
const char * key,
const int64_t value0,
const int64_t value1,
larodError ** error 
)
+
+ +

Add an integer array of two elements to a larodMap object.

+

Adds a 64-bit integer array of two elements to a larodMap object and associates it with a string given by key. If a two element integer array value already exists for the given key it will be replaced by the new value. If a value already exists for the given key, but the value is of another type an error will be reported. The key string should be at maximum 128 bytes long (including terminating NULL-byte).

+
Parameters
+ + + + + + +
mapHandle to a larodMap object.
keyString key to identify value with.
value0First array value to associate with key.
value1Second array value to associate with key.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is NULL), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodMapSetIntArr4()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodMapSetIntArr4 (larodMapmap,
const char * key,
const int64_t value0,
const int64_t value1,
const int64_t value2,
const int64_t value3,
larodError ** error 
)
+
+ +

Add an integer array of four elements to a larodMap object.

+

Adds a 64-bit integer array of four elements to a larodMap object and associates it with a string given by key. If a four element integer array value already exists for the given key it will be replaced by the new value. If a value already exists for the given key, but the value is of another type an error will be reported. The key string should be at maximum 128 bytes long (including terminating NULL-byte).

+
Parameters
+ + + + + + + + +
mapHandle to a larodMap object.
keyString key to identify value with.
value0First array value to associate with key.
value1Second array value to associate with key.
value2Third array value to associate with key.
value3Fourth array value to associate with key.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodMapSetStr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodMapSetStr (larodMapmap,
const char * key,
const char * value,
larodError ** error 
)
+
+ +

Add a string to a larodMap object.

+

Adds a copy of the string pointed to by value to a larodMap object and associates the value with a string given by key. If a string type value already exists for the given key it will be replaced by the new value. If a value already exists for the given key, but the value is of another type an error will be reported. Both key and value strings should be at maximum 128 bytes long (including terminating NULL-byte).

+
Parameters
+ + + + + +
mapHandle to a larodMap object.
keyString key to identify value with.
valueString value to associate with key.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodRunInference()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodRunInference (larodConnectionconn,
const larodInferenceRequestinfReq,
larodError ** error 
)
+
+ +

Run inference on a loaded model.

+

Data will be read or written using the tensors' file descriptors. The maximum number of bytes that the larod service will access (read or write) can be set by larodSetTensorFdSize() for each tensor. Offsets into the file descriptors can be configured using larodSetTensorFdOffset(). If the size value for a tensor is 0 (default value) then larod will use file operations to determine the file descriptor size. The larod service will also use file operations to read and write tensor data, thus the current file positions of tensor file descriptors will be updated by the inference call. The client should not access the file descriptors during this call.

+
Deprecated:
Replaced with larodRunJob() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + +
connAn initialized connection handle.
infReqAn initialized inference request handle. The input and output file descriptors specified in the request must have reading and writing permissions, respectively. Moreover, the input file descriptors' file offsets will be set to the beginning before reading, while the output file descriptors' file offsets will be untouched before writing (and left at the resulting position after the write).
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodRunInferenceAsync()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodRunInferenceAsync (larodConnectionconn,
const larodInferenceRequestinfReq,
larodRunInferenceCallback callback,
void * userData,
larodError ** error 
)
+
+ +

Run inference on a loaded model asynchronously.

+

This is the asynchronous version of larodRunInference(). The same set of parameters as larodRunInference() must be explicitly set in infReq.

+

Data will be accessed for read or write using the tensor file descriptors. Offsets into the file descriptors can be configured using larodSetTensorFdOffset(). The maximum number of bytes that the larod service will access (read or write) can be set by larodSetTensorFdSize() for each tensor. If the size value for a tensor is 0 (default value) then larod will use file operations to determine the file descriptor size. The larod service will also use file operations to read and write tensor data, thus the current file positions of tensor file descriptors will be updated by the inference call. The client should not access the file descriptors while an asynchronous inference in running.

+

The callback function callback will be called as soon as the inference has finished. The callbacks are not guaranteed to be called in any order; userData can be used to tag different requests.

+
Deprecated:
Replaced with larodRunJobAsync() in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + + + +
connAn initialized connection handle.
infReqAn initialized inference request handle. The input and output file descriptors specified in the request must have reading and writing permissions, respectively. Moreover, the input file descriptors' file offsets will be set to the beginning before reading, while the output file descriptors' file offsets will be untouched before writing (and left at the resulting position after the write).
callbackCallback function.
userDataUser data that will passed to the callback function.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodRunJob()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodRunJob (larodConnectionconn,
const larodJobRequestjobReq,
larodError ** error 
)
+
+ +

Run a job on a loaded model.

+

Data will be read or written using the tensors' file descriptors. The maximum number of bytes that the larod service will access (read or write) can be set by larodSetTensorFdSize() for each tensor. Offsets into the file descriptors can be configured using larodSetTensorFdOffset(). If the size value for a tensor is 0 (default value) then larod will use file operations to determine the file descriptor size. The larod service will also use file operations to read and write tensor data, thus the current file positions of tensor file descriptors will be updated by the job call. The client should not access the file descriptors during this call. Furthermore, if any tensor file descriptor is pointing to a dma-buf, make sure to do the proper cache-synchronization steps described in the documentation.

+
Parameters
+ + + + +
connAn initialized connection handle.
jobReqAn initialized job request handle. The input and output file descriptors specified in the request must have reading and writing permissions, respectively. Moreover, the input file descriptors' file offsets will be set to the beginning before reading, while the output file descriptors' file offsets will be untouched before writing (and left at the resulting position after the write).
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodRunJobAsync()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodRunJobAsync (larodConnectionconn,
const larodJobRequestjobReq,
larodRunJobCallback callback,
void * userData,
larodError ** error 
)
+
+ +

Run a job on a loaded model asynchronously.

+

This is the asynchronous version of larodRunJob(). The same set of parameters as larodRunJob() must be explicitly set in jobReq.

+

Data will be accessed for read or write using the tensor file descriptors. Offsets into the file descriptors can be configured using larodSetTensorFdOffset(). The maximum number of bytes that the larod service will access (read or write) can be set by larodSetTensorFdSize() for each tensor. If the size value for a tensor is 0 (default value) then larod will use file operations to determine the file descriptor size. The larod service will also use file operations to read and write tensor data, thus the current file positions of tensor file descriptors will be updated by the job call. The client should not access the file descriptors while an asynchronous job is running. Furthermore, if any tensor file descriptor is pointing to a dma-buf, make sure to do the proper cache-synchronization steps described in the documentation.

+

The callback function callback will be called as soon as the job has finished. The callbacks are not guaranteed to be called in any order; userData can be used to tag different requests.

+
Parameters
+ + + + + + +
connAn initialized connection handle.
jobReqAn initialized job request handle. The input and output file descriptors specified in the request must have reading and writing permissions, respectively. Moreover, the input file descriptors' file offsets will be set to the beginning before reading, while the output file descriptors' file offsets will be untouched before writing (and left at the resulting position after the write).
callbackCallback function.
userDataUser data that will be passed to the callback function.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodSetChip()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetChip (larodConnectionconn,
const larodChip chip,
larodError ** error 
)
+
+ +

Set current chip using larodChip in use for the session in larod.

+

Note: if there is more than one chip on the device corresponding to chip then the one with the smallest chip ID will be chosen.

+
Deprecated:
Replaced with larodLoadModel() (with chip parameter) in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + +
connAn initialized connection handle.
chipChip to set.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodSetChipId()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetChipId (larodConnectionconn,
const uint64_t chipId,
larodError ** error 
)
+
+ +

Set current chip using ID in use for the session in larod.

+
Deprecated:
Replaced with larodLoadModel() (with chip parameter) in larod 2.0. This function is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + +
connAn initialized connection handle.
chipIdChip ID to set.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodSetInferenceRequestInputs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetInferenceRequestInputs (larodInferenceRequestinfReq,
larodTensor ** tensors,
const size_t numTensors,
larodError ** error 
)
+
+ +

Set input tensor array in an inference request.

+

Copies the tensors array into the inference request. The existing tensor array in infReq will be overwritten.

+
Deprecated:
Replaced with larodSetJobRequestInputs() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + + +
infReqPointer to an already allocated inference request.
tensorsTensor array to copy into the inference request.
numTensorsNumbers of tensor entries in the tensor array.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetInferenceRequestModel()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetInferenceRequestModel (larodInferenceRequestinfReq,
const larodModelmodel,
larodError ** error 
)
+
+ +

Set model in an inference request.

+

Specifies which model to run the inference request on. Copies the model information into the inference request. The existing model information in infReq will be overwritten.

+
Deprecated:
Replaced with larodSetJobRequestModel() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + +
infReqPointer to an already allocated inference request.
modelModel to copy into the inference request.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetInferenceRequestOutputs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetInferenceRequestOutputs (larodInferenceRequestinfReq,
larodTensor ** tensors,
const size_t numTensors,
larodError ** error 
)
+
+ +

Set output tensor array in an inference request.

+

Copies the tensors array into the inference request. The existing tensor array in infReq will be overwritten.

+
Deprecated:
Replaced with larodSetJobRequestOutputs() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + + +
infReqInference request handle.
tensorsTensor array to copy into the inference request.
numTensorsNumbers of tensor entries in the tensor array.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetInferenceRequestPriority()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetInferenceRequestPriority (larodInferenceRequestinfReq,
const uint8_t priority,
larodError ** error 
)
+
+ +

Set an priority of an inference request.

+

Only applicable when used with asynchronous inferences. 0 means lowest priority while 100 means highest priority.

+

When the service processes requests for a given session, it will attempt to run higher priority inference requests before lower priority requests. Specifically, the service will dispatch inferences to the underlying chip framework in order of priority. As a result of the dependency on the underlying chip framework, the service cannot guarantee that inferences will be finished in priority order.

+

As an illustrative example, consider a case where multiple low priority requests are enqueued, followed by a high priority request, followed by another set of low priority requests. In this case, after the high priority request is enqueued, it is guaranteed to be the next request to be dispatched to the chip framework. Thus, the high priority request may be processed before some of the earlier low priority ones. Also, the high priority request is guaranteed be processed before any low priority requests that were enqueued later.

+

Note also that priorities are only valid within the set of requests for a given session. The priority does not influence the ordering in different connections! Default priority is 50 when a request is created (

See also
larodCreateInferenceRequest() and
+
+larodCreateEmptyInferenceRequest()).
+
Deprecated:
Replaced with larodSetJobRequestPriority() in larod 2.0. This type is still available in larod 2.0 and later if LAROD_API_VERSION_1 is defined before larod.h is included.
+
Parameters
+ + + + +
infReqPointer to an initialized handle.
priorityThe priority to attach to infReq.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodSetJobRequestInputs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetJobRequestInputs (larodJobRequestjobReq,
larodTensor ** tensors,
const size_t numTensors,
larodError ** error 
)
+
+ +

Set input tensor array in a request.

+

Copies the tensors array into the request. The existing tensor array in jobReq will be overwritten.

+
Parameters
+ + + + + +
jobReqPointer to an already allocated job request.
tensorsTensor array to copy into the request.
numTensorsNumbers of tensor entries in the tensor array.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetJobRequestModel()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetJobRequestModel (larodJobRequestjobReq,
const larodModelmodel,
larodError ** error 
)
+
+ +

Set model in a request.

+

Specifies which model to run the job request on. Copies the model information into the job request. The existing model information in req will be overwritten.

+
Parameters
+ + + + +
jobReqPointer to an already allocated job request.
modelModel to copy into the request.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetJobRequestOutputs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetJobRequestOutputs (larodJobRequestjobReq,
larodTensor ** tensors,
const size_t numTensors,
larodError ** error 
)
+
+ +

Set output tensor array in a job request.

+

Copies the tensors array into the job request. The existing tensor array in jobReq will be overwritten.

+
Parameters
+ + + + + +
jobReqJob request handle.
tensorsTensor array to copy into the job request.
numTensorsNumbers of tensor entries in the tensor array.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetJobRequestParams()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetJobRequestParams (larodJobRequestjobReq,
const larodMapparams,
larodError ** error 
)
+
+ +

Set additional parameters to a job request.

+

Copies the params map into the job request. The existing parameters map in jobReq will be overwritten.

+
Parameters
+ + + + +
jobReqJob request handle.
paramsAdditional optional parameters. Please refer to the documentation for the chip you are using to see what key-value pairs are applicable.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetJobRequestPriority()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetJobRequestPriority (larodJobRequestjobReq,
const uint8_t priority,
larodError ** error 
)
+
+ +

Set an priority of a job request.

+

Only applicable when used with asynchronous jobs. 0 means lowest priority while 100 means highest priority.

+

When the service processes requests for a given session, it will attempt to run higher priority job requests before lower priority requests. Specifically, the service will dispatch jobs to the underlying chip framework in order of priority. As a result of the dependency on the underlying chip framework, the service cannot guarantee that jobs will be finished in priority order.

+

As an illustrative example, consider a case where multiple low priority requests are enqueued, followed by a high priority request, followed by another set of low priority requests. In this case, after the high priority request is enqueued, it is guaranteed to be the next request to be dispatched to the chip framework. Thus, the high priority request may be processed before some of the earlier low priority ones. Also, the high priority request is guaranteed be processed before any low priority requests that were enqueued later.

+

Note also that priorities are only valid within the set of requests for a given session. The priority does not influence the ordering in different connections! Default priority is 50 when a request is created (

See also
larodCreateJobRequest()).
+
Parameters
+ + + + +
jobReqPointer to an initialized handle.
priorityThe priority to attach to jobReq.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodSetTensorDataType()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetTensorDataType (larodTensortensor,
const larodTensorDataType dataType,
larodError ** error 
)
+
+ +

Set data type of a tensor.

+

If the data type is set to LAROD_TENSOR_DATA_TYPE_UNSPECIFIED no sanity checks for the tensor data type (i.e. comparisons with what the model expects of the tensor data type) will be performed when running a job.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
dataTypeData type for the tensor (see larodTensorDataType).
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodSetTensorDims()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetTensorDims (larodTensortensor,
const larodTensorDimsdims,
larodError ** error 
)
+
+ +

Set the dimensions of a tensor.

+

If the dims member len is set to 0 no sanity checks for the tensor dimensions (i.e. comparisons with what the model expects of the tensor dimensions) will be performed when running a job.

+

If len is specified, it must be equal to the len of the tensor's pitches if that is also specified; otherwise one gets an error when creating job requests. See larodTensorPitches for more details of how they are related.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
dimsPointer to larodTensorDims. The contents of the struct will be copied into tensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodSetTensorFd()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetTensorFd (larodTensortensor,
const int fd,
larodError ** error 
)
+
+ +

Set file descriptor of a tensor.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
fdFile descriptor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodSetTensorFdOffset()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetTensorFdOffset (larodTensortensor,
const int64_t offset,
larodError ** error 
)
+
+ +

Set file offset for a tensor.

+

Set the file offset (bytes) that will be applied when larod is accessing the tensor's file descriptor during a job call (by either reading or writing, c.f. larodSetTensorFdSize()). The offset is specified from the beginning of the file. Negative offset values are not allowed. The default value is 0.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
offsetOffset from the start for tensor's file descriptor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetTensorFdProps()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetTensorFdProps (larodTensortensor,
const uint32_t fdPropFlags,
larodError ** error 
)
+
+ +

Set the properties for a file descriptor of a tensor.

+

Should be called with relevant LAROD_FD_PROP_* flags or:ed together (or LAROD_FD_TYPE_* for already set flags for common fd types) as fdPropFlags in order to notify the service of what kind of memory operations can be used on the fd of tensor. The service will then access the fd as efficiently as possible using this information.

+

Note that valid fd properties must be set for every larodTensor sent to the service via a larodJobRequest. In particular 0 is not valid for fdPropFlags as this would indicate that there are no possible ways for the service to access the memory of the tensor's fd.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
fdPropFlagsAn indicator to the service of what kind of memory operations are possible to perform on the fd of tensor. The relevant LAROD_FD_PROP_* flags should be or:ed together (bitmask) in this parameter. For common fd types, one would probably want to use LAROD_FD_TYPE_* here.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetTensorFdSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetTensorFdSize (larodTensortensor,
const size_t size,
larodError ** error 
)
+
+ +

Set file descriptor maximum capacity (bytes) for a tensor.

+

Sets the maximum number of bytes that is allowed to be read or written to the file descriptor associated with tensor. If size is set to 0 for a tensor (default), there will be no size checks when the service is reading or writing to the fd; the service will try to read or write the required amount.

+

For example, when reading from an input tensor, the service will try to read the required byte size from the file descriptor. Similarly for an output tensor, the service will try to write the required byte size to the file descriptor. Note that it is valid to set an fd offset using larodSetTensorFdOffset() even when size is 0.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
sizeMaximum file descriptor capacity (bytes) to be set for tensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ +

◆ larodSetTensorLayout()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetTensorLayout (larodTensortensor,
const larodTensorLayout layout,
larodError ** error 
)
+
+ +

Set layout of a tensor.

+

If the layout is set to LAROD_TENSOR_LAYOUT_UNSPECIFIED no sanity checks for the tensor layout (i.e. comparisons with what the model expects of the tensor layout) will be performed when running a job.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
layoutLayout as specified by larodTensorLayout.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodSetTensorPitches()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodSetTensorPitches (larodTensortensor,
const larodTensorPitchespitches,
larodError ** error 
)
+
+ +

Set pitches of a tensor.

+

If the pitches member len is set to 0 no sanity checks for the tensor pitches (i.e. comparisons with what the model expects of the tensor pitches) will be performed when running a job. See larodTensorPitches for the definition of pitches.

+
Parameters
+ + + + +
tensorPointer to an already allocated larodTensor.
pitchesPointer to larodTensorPitches. The contents of the struct will be copied into tensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if any errors occur, otherwise true.
+ +
+
+ +

◆ larodTrackTensor()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool larodTrackTensor (larodConnectionconn,
larodTensortensor,
larodError ** error 
)
+
+ +

Start tracking a tensor in the service.

+

Can be called in order to let the service keep track of tensor. The service will do its best to cache resources (e.g. memory mapping of the tensor's fd) so that setup-related operations only have to be done once for each tracked tensor recurring in the service. This is desirable from a performance perspective.

+

Once this function is called on tensor, its file descriptor can not be replaced (c.f. larodSetTensorFd()). This also applies to the fd size, fd offset and fd props of tensor (c.f. larodSetTensorFdSize(), larodSetTensorFdOffset() and larodSetTensorFdProps(), respectively). Furthermore, this function should only be called once per larodTensor even if the tensor is used for more than one larodModel.

+
Note
A total maximum of 32 tensors can be tracked for a given conn.
+
Parameters
+ + + + +
connAn initialized connection handle.
tensorPointer to an already allocated larodTensor.
errorAn uninitialized handle to an error. error can also be NULL if one does not want any error information. In case of errors (when return value is false), it must later be deallocated with larodClearError().
+
+
+
Returns
False if error occurred, otherwise true.
+ +
+
+ + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/larod_8h_source.html b/docs/acap-sdk-version-3/api/src/api/larod/html/larod_8h_source.html new file mode 100644 index 0000000..b0b520d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/larod_8h_source.html @@ -0,0 +1,236 @@ + + + + + + + +liblarod: larod.h Source File + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
larod.h
+
+
+Go to the documentation of this file.
1 
11 #ifndef COM_AXIS_LAROD_H
12 #define COM_AXIS_LAROD_H
13 
14 #include <limits.h>
15 #include <stdbool.h>
16 #include <stdint.h>
17 #include <stdlib.h>
18 
19 #include "larod-version.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 #if defined(LAROD_API_VERSION_1) && defined(LAROD_API_VERSION_2)
26 #error API version ambiguous, specify at most one version \
27  (#define LAROD_API_VERSION_*) before including larod.h
28 #endif
29 
33 #define LAROD_TENSOR_MAX_LEN 12
34 
38 #define LAROD_INVALID_MODEL_ID UINT64_MAX
39 
43 #define LAROD_INVALID_FD (INT_MIN)
44 
66 #define LAROD_FD_PROP_READWRITE (1UL << 0)
68 #define LAROD_FD_PROP_MAP (1UL << 1)
70 #define LAROD_FD_PROP_DMABUF (1UL << 2)
73 
82 #define LAROD_FD_TYPE_DMA (LAROD_FD_PROP_DMABUF | LAROD_FD_PROP_MAP)
84 #define LAROD_FD_TYPE_DISK (LAROD_FD_PROP_READWRITE | LAROD_FD_PROP_MAP)
87 
102 typedef struct larodDevice larodDevice;
103 
104 #if defined(LAROD_API_VERSION_1) || defined(LAROD_API_VERSION_2) || \
105  defined(LAROD_DOXYGEN)
106 
115 typedef enum {
140 } larodChip;
141 #endif
142 
149 typedef enum {
153 } larodAccess;
154 
166 typedef enum {
171 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
176 #endif
206 
217 typedef enum {
234 
270 typedef enum {
290 
298 typedef struct {
300  const char* msg;
301 } larodError;
302 
320 typedef struct {
321  size_t dims[LAROD_TENSOR_MAX_LEN];
322  size_t len;
324 
374 typedef struct {
375  size_t pitches[LAROD_TENSOR_MAX_LEN];
376  size_t len;
378 
388 typedef struct larodModel larodModel;
389 
406 typedef void (*larodLoadModelCallback)(larodModel* model, void* userData,
407  larodError* error);
408 
423 typedef void (*larodRunJobCallback)(void* userData, larodError* error);
424 
432 
439 
447 typedef struct larodTensor larodTensor;
448 
458 typedef struct larodMap larodMap;
459 
460 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
461 
479 typedef void (*larodRunInferenceCallback)(void* userData, larodError* error);
480 #endif
481 
482 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
483 
493 #endif
494 
505 void larodClearError(larodError** error);
506 
520 bool larodConnect(larodConnection** conn, larodError** error);
521 
538 bool larodDisconnect(larodConnection** conn, larodError** error);
539 
550 bool larodGetNumSessions(larodConnection* conn, uint64_t* numSessions,
551  larodError** error);
552 
573 const larodDevice* larodGetDevice(const larodConnection* conn, const char* name,
574  const uint32_t instance, larodError** error);
575 
586 const char* larodGetDeviceName(const larodDevice* dev, larodError** error);
587 
606 bool larodGetDeviceInstance(const larodDevice* dev, uint32_t* instance,
607  larodError** error);
608 
609 #if defined(LAROD_API_VERSION_1) || defined(LAROD_API_VERSION_2)
610 
624 const char* larodGetChipName(const larodChip chip);
625 #endif
626 
627 #if defined(LAROD_API_VERSION_1) || defined(LAROD_API_VERSION_2) || \
628  defined(LAROD_DOXYGEN)
629 
653 bool larodListChips(larodConnection* conn, larodChip** chips, size_t* numChips,
654  larodError** error);
655 #endif
656 
672 const larodDevice** larodListDevices(larodConnection* conn, size_t* numDevices,
673  larodError** error);
674 
675 #if defined(LAROD_API_VERSION_1)
676 larodModel* larodLoadModel_API_VERSION_1(larodConnection* conn, const int fd,
677  const larodAccess access,
678  const char* name, larodError** error);
679 #define larodLoadModel larodLoadModel_API_VERSION_1
680 #elif defined(LAROD_API_VERSION_2)
681 larodModel* larodLoadModel_API_VERSION_2(larodConnection* conn, const int fd,
682  const larodChip chip,
683  const larodAccess access,
684  const char* name,
685  const larodMap* params,
686  larodError** error);
687 #define larodLoadModel larodLoadModel_API_VERSION_2
688 #else
689 
713 larodModel* larodLoadModel(larodConnection* conn, const int fd,
714  const larodDevice* dev, const larodAccess access,
715  const char* name, const larodMap* params,
716  larodError** error);
717 
718 #endif
719 
720 #if defined(LAROD_API_VERSION_1)
721 bool larodLoadModelAsync_API_VERSION_1(larodConnection* conn, const int fd,
722  const larodAccess access,
723  const char* name,
724  larodLoadModelCallback callback,
725  void* userData, larodError** error);
726 #define larodLoadModelAsync larodLoadModelAsync_API_VERSION_1
727 #elif defined(LAROD_API_VERSION_2)
728 bool larodLoadModelAsync_API_VERSION_2(larodConnection* conn, const int fd,
729  const larodChip chip,
730  const larodAccess access,
731  const char* name, const larodMap* params,
732  larodLoadModelCallback callback,
733  void* userData, larodError** error);
734 #define larodLoadModelAsync larodLoadModelAsync_API_VERSION_2
735 #else
736 
758 bool larodLoadModelAsync(larodConnection* conn, const int inFd,
759  const larodDevice* dev, const larodAccess access,
760  const char* name, const larodMap* params,
761  larodLoadModelCallback callback, void* userData,
762  larodError** error);
763 
764 #endif
765 
780 larodModel* larodGetModel(larodConnection* conn, const uint64_t modelId,
781  larodError** error);
782 
805 larodModel** larodGetModels(larodConnection* conn, size_t* numModels,
806  larodError** error);
807 
819 void larodDestroyModel(larodModel** model);
820 
832 void larodDestroyModels(larodModel*** models, size_t numModels);
833 
852 bool larodDeleteModel(larodConnection* conn, larodModel* model,
853  larodError** error);
854 
868 uint64_t larodGetModelId(const larodModel* model, larodError** error);
869 
870 #if defined(LAROD_API_VERSION_2) || defined(LAROD_DOXYGEN)
871 
886 larodChip larodGetModelChip(const larodModel* model, larodError** error);
887 #endif
888 
905 const larodDevice* larodGetModelDevice(const larodModel* model,
906  larodError** error);
907 
919 size_t larodGetModelSize(const larodModel* model, larodError** error);
920 
934 const char* larodGetModelName(const larodModel* model, larodError** error);
935 
948 
958 size_t larodGetModelNumInputs(const larodModel* model, larodError** error);
959 
969 size_t larodGetModelNumOutputs(const larodModel* model, larodError** error);
970 
990 size_t* larodGetModelInputByteSizes(const larodModel* model, size_t* numInputs,
991  larodError** error);
992 
1013 size_t* larodGetModelOutputByteSizes(const larodModel* model,
1014  size_t* numOutputs, larodError** error);
1015 
1046  size_t* numTensors, larodError** error);
1047 
1078  size_t* numTensors, larodError** error);
1079 
1126  const larodModel* model,
1127  const uint32_t fdPropFlags,
1128  size_t* numTensors, larodMap* params,
1129  larodError** error);
1130 
1177  const larodModel* model,
1178  const uint32_t fdPropFlags,
1179  size_t* numTensors, larodMap* params,
1180  larodError** error);
1181 
1209 larodTensor** larodCreateTensors(size_t numTensors, larodError** error);
1210 
1211 #if defined(LAROD_API_VERSION_1) || defined(LAROD_API_VERSION_2)
1212 void larodDestroyTensors_API_VERSION_1(larodTensor*** tensors,
1213  size_t numTensors);
1214 #define larodDestroyTensors larodDestroyTensors_API_VERSION_1
1215 #else
1216 
1243 bool larodDestroyTensors(larodConnection* conn, larodTensor*** tensors,
1244  size_t numTensors, larodError** error);
1245 #endif
1246 
1267 bool larodSetTensorDims(larodTensor* tensor, const larodTensorDims* dims,
1268  larodError** error);
1269 
1284 const larodTensorDims* larodGetTensorDims(const larodTensor* tensor,
1285  larodError** error);
1286 
1303 bool larodSetTensorPitches(larodTensor* tensor,
1304  const larodTensorPitches* pitches,
1305  larodError** error);
1306 
1321  larodError** error);
1322 
1337 bool larodSetTensorDataType(larodTensor* tensor,
1338  const larodTensorDataType dataType,
1339  larodError** error);
1340 
1352 larodTensorDataType larodGetTensorDataType(const larodTensor* tensor,
1353  larodError** error);
1354 
1369 bool larodSetTensorLayout(larodTensor* tensor, const larodTensorLayout layout,
1370  larodError** error);
1371 
1383 larodTensorLayout larodGetTensorLayout(const larodTensor* tensor,
1384  larodError** error);
1385 
1396 bool larodSetTensorFd(larodTensor* tensor, const int fd, larodError** error);
1397 
1409 int larodGetTensorFd(const larodTensor* tensor, larodError** error);
1410 
1432 bool larodSetTensorFdSize(larodTensor* tensor, const size_t size,
1433  larodError** error);
1434 
1450 bool larodGetTensorFdSize(const larodTensor* tensor, size_t* size,
1451  larodError** error);
1452 
1468 bool larodSetTensorFdOffset(larodTensor* tensor, const int64_t offset,
1469  larodError** error);
1470 
1484 int64_t larodGetTensorFdOffset(const larodTensor* tensor, larodError** error);
1485 
1511 bool larodTrackTensor(larodConnection* conn, larodTensor* tensor,
1512  larodError** error);
1513 
1538 bool larodSetTensorFdProps(larodTensor* tensor, const uint32_t fdPropFlags,
1539  larodError** error);
1540 
1554 bool larodGetTensorFdProps(const larodTensor* tensor, uint32_t* fdPropFlags,
1555  larodError** error);
1556 
1570 const char* larodGetTensorName(const larodTensor* tensor, larodError** error);
1571 
1586 bool larodGetTensorByteSize(const larodTensor* tensor, size_t* byteSize,
1587  larodError** error);
1588 
1616 
1625 void larodDestroyMap(larodMap** map);
1626 
1645 bool larodMapSetStr(larodMap* map, const char* key, const char* value,
1646  larodError** error);
1647 
1666 bool larodMapSetInt(larodMap* map, const char* key, const int64_t value,
1667  larodError** error);
1668 
1688 bool larodMapSetIntArr2(larodMap* map, const char* key, const int64_t value0,
1689  const int64_t value1, larodError** error);
1690 
1712 bool larodMapSetIntArr4(larodMap* map, const char* key, const int64_t value0,
1713  const int64_t value1, const int64_t value2,
1714  const int64_t value3, larodError** error);
1715 
1732 const char* larodMapGetStr(larodMap* map, const char* key, larodError** error);
1733 
1752 bool larodMapGetInt(larodMap* map, const char* key, int64_t* value,
1753  larodError** error);
1754 
1771 const int64_t* larodMapGetIntArr2(larodMap* map, const char* key,
1772  larodError** error);
1773 
1790 const int64_t* larodMapGetIntArr4(larodMap* map, const char* key,
1791  larodError** error);
1792 
1823  larodTensor** inputTensors,
1824  size_t numInputs,
1825  larodTensor** outputTensors,
1826  size_t numOutputs, larodMap* params,
1827  larodError** error);
1828 
1839 
1854 bool larodSetJobRequestModel(larodJobRequest* jobReq, const larodModel* model,
1855  larodError** error);
1856 
1871 bool larodSetJobRequestInputs(larodJobRequest* jobReq, larodTensor** tensors,
1872  const size_t numTensors, larodError** error);
1873 
1888 bool larodSetJobRequestOutputs(larodJobRequest* jobReq, larodTensor** tensors,
1889  const size_t numTensors, larodError** error);
1890 
1925 bool larodSetJobRequestPriority(larodJobRequest* jobReq, const uint8_t priority,
1926  larodError** error);
1927 
1943 bool larodSetJobRequestParams(larodJobRequest* jobReq, const larodMap* params,
1944  larodError** error);
1945 
1973 bool larodRunJob(larodConnection* conn, const larodJobRequest* jobReq,
1974  larodError** error);
1975 
2013 bool larodRunJobAsync(larodConnection* conn, const larodJobRequest* jobReq,
2014  larodRunJobCallback callback, void* userData,
2015  larodError** error);
2016 
2017 #ifdef LAROD_DOXYGEN
2018 // The following declaration is only for documentation purposes. Not to be used
2019 // in actual code.
2044 larodModel* larodLoadModel(larodConnection* conn, const int fd,
2045  const larodAccess access, const char* name,
2046  larodError** error);
2047 #endif
2048 
2049 #ifdef LAROD_DOXYGEN
2050 // The following declaration is only for documentation purposes. Not to be used
2051 // in actual code.
2080 larodModel* larodLoadModel(larodConnection* conn, const int fd,
2081  const larodChip chip, const larodAccess access,
2082  const char* name, const larodMap* params,
2083  larodError** error);
2084 #endif
2085 
2086 #ifdef LAROD_DOXYGEN
2087 // The following declaration is only for documentation purposes. Not to be used
2088 // in actual code.
2110 bool larodLoadModelAsync(larodConnection* conn, const int fd,
2111  const larodAccess access, const char* name,
2112  larodLoadModelCallback callback, void* userData,
2113  larodError** error);
2114 #endif
2115 
2116 #ifdef LAROD_DOXYGEN
2117 // The following declaration is only for documentation purposes. Not to be used
2118 // in actual code.
2145 bool larodLoadModelAsync(larodConnection* conn, const int fd,
2146  const larodChip chip, const larodAccess access,
2147  const char* name, const larodMap* params,
2148  larodLoadModelCallback callback, void* userData,
2149  larodError** error);
2150 #endif
2151 
2152 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2153 
2186  const larodModel* model, larodTensor** inputTensors, size_t numInputs,
2187  larodTensor** outputTensors, size_t numOutputs, larodError** error);
2188 #endif
2189 
2190 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2191 
2205 #define larodDestroyInferenceRequest larodDestroyJobRequest
2206 #endif
2207 
2208 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2209 
2229  const larodModel* model, larodError** error);
2230 #define larodSetInferenceRequestModel larodSetJobRequestModel
2231 #endif
2232 
2233 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2234 
2254  larodTensor** tensors,
2255  const size_t numTensors,
2256  larodError** error);
2257 #define larodSetInferenceRequestInputs larodSetJobRequestInputs
2258 #endif
2259 
2260 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2261 
2281  larodTensor** tensors,
2282  const size_t numTensors,
2283  larodError** error);
2284 #define larodSetInferenceRequestOutputs larodSetJobRequestOutputs
2285 #endif
2286 
2287 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2288 
2327  const uint8_t priority,
2328  larodError** error);
2329 #define larodSetInferenceRequestPriority larodSetJobRequestPriority
2330 #endif
2331 
2332 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2333 
2363  const larodInferenceRequest* infReq, larodError** error);
2364 #endif
2365 
2366 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2367 
2407  const larodInferenceRequest* infReq,
2408  larodRunInferenceCallback callback, void* userData,
2409  larodError** error);
2410 #endif
2411 
2412 #if defined(LAROD_API_VERSION_2) || defined(LAROD_DOXYGEN)
2413 bool larodRunJobAsync_API_VERSION_2(larodConnection* conn,
2414  const larodJobRequest* jobReq,
2415  larodRunJobCallback callback,
2416  void* userData, larodError** error);
2417 #define larodRunJobAsync larodRunJobAsync_API_VERSION_2
2418 #endif
2419 
2420 #if defined(LAROD_API_VERSION_2) || defined(LAROD_DOXYGEN)
2421 bool larodRunJob_API_VERSION_2(larodConnection* conn,
2422  const larodJobRequest* jobReq,
2423  larodError** error);
2424 #define larodRunJob larodRunJob_API_VERSION_2
2425 #endif
2426 
2427 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2428 
2442 bool larodGetChipId(larodConnection* conn, uint64_t* chipId,
2443  larodError** error);
2444 #endif
2445 
2446 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2447 
2461 bool larodSetChipId(larodConnection* conn, const uint64_t chipId,
2462  larodError** error);
2463 #endif
2464 
2465 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2466 
2483 bool larodSetChip(larodConnection* conn, const larodChip chip,
2484  larodError** error);
2485 #endif
2486 
2487 #if defined(LAROD_API_VERSION_1) || defined(LAROD_DOXYGEN)
2488 
2502 bool larodGetChipType(larodConnection* conn, larodChip* chipType,
2503  larodError** error);
2504 #endif
2505 
2506 #if defined(LAROD_DOXYGEN)
2507 
2524 void larodDestroyTensors(larodTensor*** tensors, size_t numTensors);
2525 #endif
2526 
2527 #ifdef __cplusplus
2528 }
2529 #endif
2530 
2531 #endif // COM_AXIS_LAROD_H
const larodTensorDims * larodGetTensorDims(const larodTensor *tensor, larodError **error)
Get dimensions of a tensor.
+
64-bit unsigned integer.
Definition: larod.h:227
+
bool larodSetJobRequestInputs(larodJobRequest *jobReq, larodTensor **tensors, const size_t numTensors, larodError **error)
Set input tensor array in a request.
+
Dummy chip for debugging.
Definition: larod.h:119
+
Tensor mismatch.
Definition: larod.h:198
+
Max errno value (dummy value).
Definition: larod.h:204
+
int larodGetTensorFd(const larodTensor *tensor, larodError **error)
Get file descriptor of a tensor.
+
size_t larodGetModelNumInputs(const larodModel *model, larodError **error)
Get number of input tensors for a model.
+
Public access.
Definition: larod.h:152
+
Error while allocating.
Definition: larod.h:202
+
const larodDevice * larodGetDevice(const larodConnection *conn, const char *name, const uint32_t instance, larodError **error)
Get an available device.
+
void larodDestroyMap(larodMap **map)
Destroy a larodMap.
+
bool larodGetChipType(larodConnection *conn, larodChip *chipType, larodError **error)
Get current chip type in use for the session in larod.
+
size_t * larodGetModelOutputByteSizes(const larodModel *model, size_t *numOutputs, larodError **error)
Get output tensor byte sizes for a model.
+
Insufficient permissions.
Definition: larod.h:184
+
bool larodSetTensorFdSize(larodTensor *tensor, const size_t size, larodError **error)
Set file descriptor maximum capacity (bytes) for a tensor.
+
64-bit signed integer.
Definition: larod.h:228
+
16-bit unsigned integer.
Definition: larod.h:223
+
const char * larodMapGetStr(larodMap *map, const char *key, larodError **error)
Get string type value tied to given key.
+
size_t larodGetModelSize(const larodModel *model, larodError **error)
Get model size.
+
larodMap * larodCreateMap(larodError **error)
Create new larodMap.
+
bool larodSetInferenceRequestModel(larodInferenceRequest *infReq, const larodModel *model, larodError **error)
Set model in an inference request.
+
size_t len
Length of pitches array.
Definition: larod.h:376
+
bool larodDeleteModel(larodConnection *conn, larodModel *model, larodError **error)
Delete a loaded model.
+
larodTensorDataType larodGetTensorDataType(const larodTensor *tensor, larodError **error)
Get data type of a tensor.
+
larodTensor ** larodCreateModelOutputs(const larodModel *model, size_t *numTensors, larodError **error)
Create output tensors from a model.
+
bool larodRunInference(larodConnection *conn, const larodInferenceRequest *infReq, larodError **error)
Run inference on a loaded model.
+
Private access.
Definition: larod.h:151
+
16-bit floating point.
Definition: larod.h:229
+
larodTensor ** larodCreateTensors(size_t numTensors, larodError **error)
Create a list of empty larodTensor handles.
+
Invalid chip.
Definition: larod.h:117
+
bool larodSetTensorDims(larodTensor *tensor, const larodTensorDims *dims, larodError **error)
Set the dimensions of a tensor.
+
uint64_t larodGetModelId(const larodModel *model, larodError **error)
Get model ID.
+
Definition: larod.h:273
+
32-bit signed integer.
Definition: larod.h:226
+
larodErrorCode code
Error code.
Definition: larod.h:299
+
size_t len
Length of dims array.
Definition: larod.h:322
+
bool larodSetJobRequestPriority(larodJobRequest *jobReq, const uint8_t priority, larodError **error)
Set an priority of a job request.
+
Invalid access specifier.
Definition: larod.h:194
+
8-bit unsigned integer.
Definition: larod.h:221
+
bool larodSetChip(larodConnection *conn, const larodChip chip, larodError **error)
Set current chip using larodChip in use for the session in larod.
+
bool larodListChips(larodConnection *conn, larodChip **chips, size_t *numChips, larodError **error)
List available chips.
+
bool larodMapGetInt(larodMap *map, const char *key, int64_t *value, larodError **error)
Get an integer type value tied to given key.
+
bool larodSetChipId(larodConnection *conn, const uint64_t chipId, larodError **error)
Set current chip using ID in use for the session in larod.
+
bool larodMapSetIntArr4(larodMap *map, const char *key, const int64_t value0, const int64_t value1, const int64_t value2, const int64_t value3, larodError **error)
Add an integer array of four elements to a larodMap object.
+
bool larodDisconnect(larodConnection **conn, larodError **error)
Disconnect from larod.
+
Version mismatch.
Definition: larod.h:200
+
Definition: larod.h:286
+
16-bit signed integer.
Definition: larod.h:224
+
void(* larodLoadModelCallback)(larodModel *model, void *userData, larodError *error)
Callback used in larodLoadModelAsync().
Definition: larod.h:406
+
larodTensorLayout
Enum type for specifying tensor layout.
Definition: larod.h:270
+
bool larodSetTensorFdOffset(larodTensor *tensor, const int64_t offset, larodError **error)
Set file offset for a tensor.
+
bool larodLoadModelAsync(larodConnection *conn, const int inFd, const larodDevice *dev, const larodAccess access, const char *name, const larodMap *params, larodLoadModelCallback callback, void *userData, larodError **error)
Load a new model asynchronously.
+
Axis Compute Engine.
Definition: larod.h:132
+
General error for loading model.
Definition: larod.h:178
+
bool larodSetTensorDataType(larodTensor *tensor, const larodTensorDataType dataType, larodError **error)
Set data type of a tensor.
+
larodTensor ** larodAllocModelOutputs(larodConnection *conn, const larodModel *model, const uint32_t fdPropFlags, size_t *numTensors, larodMap *params, larodError **error)
Create and allocate output tensors from a model.
+
void(* larodRunInferenceCallback)(void *userData, larodError *error)
Callback used in larodRunInferenceAsync().
Definition: larod.h:479
+
bool larodGetTensorFdSize(const larodTensor *tensor, size_t *size, larodError **error)
Get file descriptor maximum capacity (bytes) for a tensor.
+
#define LAROD_TENSOR_MAX_LEN
Maximum number of dimensions of a larodTensor.
Definition: larod.h:33
+
bool larodMapSetIntArr2(larodMap *map, const char *key, const int64_t value0, const int64_t value1, larodError **error)
Add an integer array of two elements to a larodMap object.
+
bool larodSetTensorLayout(larodTensor *tensor, const larodTensorLayout layout, larodError **error)
Set layout of a tensor.
+
Max enum (dummy value).
Definition: larod.h:288
+
General error for job.
Definition: larod.h:170
+
Invalid access.
Definition: larod.h:150
+
const char * larodGetTensorName(const larodTensor *tensor, larodError **error)
Get name of tensor.
+
Image processing using OpenCL.
Definition: larod.h:139
+
const int64_t * larodMapGetIntArr4(larodMap *map, const char *key, larodError **error)
Get an integer array of four elements tied to given key.
+
Invalid chip ID.
Definition: larod.h:192
+
struct larodDevice larodDevice
A type for representing a device.
Definition: larod.h:102
+
bool larodSetInferenceRequestPriority(larodInferenceRequest *infReq, const uint8_t priority, larodError **error)
Set an priority of an inference request.
+
Definition: larod.h:175
+
larodTensor ** larodCreateModelInputs(const larodModel *model, size_t *numTensors, larodError **error)
Create input tensors from a model.
+
larodTensor ** larodAllocModelInputs(larodConnection *conn, const larodModel *model, const uint32_t fdPropFlags, size_t *numTensors, larodMap *params, larodError **error)
Create and allocate input tensors from a model.
+
larodJobRequest * larodCreateJobRequest(const larodModel *model, larodTensor **inputTensors, size_t numInputs, larodTensor **outputTensors, size_t numOutputs, larodMap *params, larodError **error)
Create and initialize a job request handle.
+
A type containing information about a tensor&#39;s dimensions.
Definition: larod.h:320
+
Ambarella CVFlow (NN).
Definition: larod.h:125
+
struct larodModel larodModel
A type representing a model.
Definition: larod.h:388
+
larodTensorDataType
Enum type for specifying tensor data type.
Definition: larod.h:217
+
bool larodSetJobRequestParams(larodJobRequest *jobReq, const larodMap *params, larodError **error)
Set additional parameters to a job request.
+
larodErrorCode
Enum type for error codes.
Definition: larod.h:166
+
const char * msg
Error message.
Definition: larod.h:300
+
32-bit floating point.
Definition: larod.h:230
+
larodTensorLayout larodGetTensorLayout(const larodTensor *tensor, larodError **error)
Get layout of a tensor.
+
struct larodJobRequest larodInferenceRequest
Type describing a job request.
Definition: larod.h:492
+
bool larodSetTensorFdProps(larodTensor *tensor, const uint32_t fdPropFlags, larodError **error)
Set the properties for a file descriptor of a tensor.
+
Type containing error information.
Definition: larod.h:298
+
larodAccess
Enum type for specifying access.
Definition: larod.h:149
+
bool larodSetJobRequestOutputs(larodJobRequest *jobReq, larodTensor **tensors, const size_t numTensors, larodError **error)
Set output tensor array in a job request.
+
larodChip
Enum type with supported chips.
Definition: larod.h:115
+
void larodDestroyInferenceRequest(larodInferenceRequest **infReq)
Destroy an inference request handle.
+
Definition: larod.h:137
+
bool larodGetTensorFdProps(const larodTensor *tensor, uint32_t *fdPropFlags, larodError **error)
Get the properties of a file descriptor of a tensor.
+
64-bit floating point.
Definition: larod.h:231
+
const int64_t * larodMapGetIntArr2(larodMap *map, const char *key, larodError **error)
Get an integer array of two elements tied to given key.
+
bool larodRunJobAsync(larodConnection *conn, const larodJobRequest *jobReq, larodRunJobCallback callback, void *userData, larodError **error)
Run a job on a loaded model asynchronously.
+
larodAccess larodGetModelAccess(const larodModel *model, larodError **error)
Get model access mode.
+
bool larodSetJobRequestModel(larodJobRequest *jobReq, const larodModel *model, larodError **error)
Set model in a request.
+
bool larodTrackTensor(larodConnection *conn, larodTensor *tensor, larodError **error)
Start tracking a tensor in the service.
+
bool larodRunInferenceAsync(larodConnection *conn, const larodInferenceRequest *infReq, larodRunInferenceCallback callback, void *userData, larodError **error)
Run inference on a loaded model asynchronously.
+
struct larodTensor larodTensor
A type representing a tensor.
Definition: larod.h:447
+
const larodDevice * larodGetModelDevice(const larodModel *model, larodError **error)
Get device for a model.
+
bool larodGetChipId(larodConnection *conn, uint64_t *chipId, larodError **error)
Get current chip ID in use for the session in larod.
+
void larodClearError(larodError **error)
Deallocate an error handle.
+
bool larodMapSetInt(larodMap *map, const char *key, const int64_t value, larodError **error)
Add an integer to a larodMap object.
+
const char * larodGetDeviceName(const larodDevice *dev, larodError **error)
Get the name of a device.
+
larodModel * larodGetModel(larodConnection *conn, const uint64_t modelId, larodError **error)
Get handle to a model by model ID.
+
struct larodMap larodMap
A type containing key-value pairs.
Definition: larod.h:458
+
No layout is specified.
Definition: larod.h:272
+
bool larodMapSetStr(larodMap *map, const char *key, const char *value, larodError **error)
Add a string to a larodMap object.
+
const char * larodGetModelName(const larodModel *model, larodError **error)
Get model name.
+
Error regarding file descriptors.
Definition: larod.h:180
+
Invalid layout.
Definition: larod.h:271
+
32-bit unsigned integer.
Definition: larod.h:225
+
larodInferenceRequest * larodCreateInferenceRequest(const larodModel *model, larodTensor **inputTensors, size_t numInputs, larodTensor **outputTensors, size_t numOutputs, larodError **error)
Create and initialize an inference request handle.
+
bool larodDestroyTensors(larodConnection *conn, larodTensor ***tensors, size_t numTensors, larodError **error)
Destroy a list of larodTensor.
+
void larodDestroyModel(larodModel **model)
Free an allocated larodModel handle.
+
bool larodSetInferenceRequestInputs(larodInferenceRequest *infReq, larodTensor **tensors, const size_t numTensors, larodError **error)
Set input tensor array in an inference request.
+
Error while deleting model.
Definition: larod.h:196
+
Failed killing session.
Definition: larod.h:190
+
bool larodSetInferenceRequestOutputs(larodInferenceRequest *infReq, larodTensor **tensors, const size_t numTensors, larodError **error)
Set output tensor array in an inference request.
+
size_t larodGetModelNumOutputs(const larodModel *model, larodError **error)
Get number of output tensors for a model.
+
Definition: larod.h:279
+
void larodDestroyModels(larodModel ***models, size_t numModels)
Destroy a list of model objects.
+
Definition: larod.h:128
+
larodModel * larodLoadModel(larodConnection *conn, const int fd, const larodDevice *dev, const larodAccess access, const char *name, const larodMap *params, larodError **error)
Load a new model.
+
bool larodConnect(larodConnection **conn, larodError **error)
Connect to larod.
+
void(* larodRunJobCallback)(void *userData, larodError *error)
Callback used in larodRunJobAsync().
Definition: larod.h:423
+
bool larodGetTensorByteSize(const larodTensor *tensor, size_t *byteSize, larodError **error)
Get byte size of tensor.
+
Invalid data type.
Definition: larod.h:218
+
struct larodConnection larodConnection
Connection handle type for the larod service.
Definition: larod.h:431
+
Max enum (dummy value).
Definition: larod.h:232
+
bool larodSetTensorFd(larodTensor *tensor, const int fd, larodError **error)
Set file descriptor of a tensor.
+
1-bit boolean.
Definition: larod.h:220
+
bool larodGetDeviceInstance(const larodDevice *dev, uint32_t *instance, larodError **error)
Get the instance number of a device.
+
int64_t larodGetTensorFdOffset(const larodTensor *tensor, larodError **error)
Get file offset for a tensor.
+
bool larodGetNumSessions(larodConnection *conn, uint64_t *numSessions, larodError **error)
Get number of currently active sessions in larod.
+
bool larodSetTensorPitches(larodTensor *tensor, const larodTensorPitches *pitches, larodError **error)
Set pitches of a tensor.
+
No errors.
Definition: larod.h:168
+
Model was not found.
Definition: larod.h:182
+
bool larodRunJob(larodConnection *conn, const larodJobRequest *jobReq, larodError **error)
Run a job on a loaded model.
+
CPU with TensorFlow Lite.
Definition: larod.h:121
+
Google TPU.
Definition: larod.h:123
+
larodModel ** larodGetModels(larodConnection *conn, size_t *numModels, larodError **error)
Get all loaded models.
+
CPU with libyuv.
Definition: larod.h:134
+
Could not create session.
Definition: larod.h:188
+
void larodDestroyJobRequest(larodJobRequest **jobReq)
Destroy a request handle.
+
size_t * larodGetModelInputByteSizes(const larodModel *model, size_t *numInputs, larodError **error)
Get input tensor byte sizes for a model.
+
const larodDevice ** larodListDevices(larodConnection *conn, size_t *numDevices, larodError **error)
List available devices.
+
larodChip larodGetModelChip(const larodModel *model, larodError **error)
Get chip for a model.
+
8-bit signed integer.
Definition: larod.h:222
+
Ambarella CVFlow (proc).
Definition: larod.h:130
+
Invalid connection.
Definition: larod.h:186
+
A type containing information about a tensor&#39;s pitches.
Definition: larod.h:374
+
No data type is specified.
Definition: larod.h:219
+
struct larodJobRequest larodJobRequest
Type describing a job request.
Definition: larod.h:438
+
const larodTensorPitches * larodGetTensorPitches(const larodTensor *tensor, larodError **error)
Get pitches of a tensor.
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_api-changes.html b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_api-changes.html new file mode 100644 index 0000000..13d8f80 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_api-changes.html @@ -0,0 +1,145 @@ + + + + + + + +liblarod: Changes in the larod API + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Changes in the larod API
+
+
+

Below is a description of API-breaking changes in major version updates of the larod API. This document can thus serve as a guide for developers that want to port their applications to the latest version.

+

Note that larod features not only ABI but also API backwards compatibility. Using an older API version when compiling with a newer version of larod requires a #define LAROD_API_VERSION_X, see "Backwards compatibility" in introduction-for-app-developers for details.

+

Table of Contents

+ +

larod 3.0

+

larodDevice replaces larodChip

+

The larodChip enum has been replaced by a larodDevice handle. The following of the API is therefore deprecated:

+
enum larodChip;
const char* larodGetChipName(const larodChip chip);
size_t* numChips, larodError** error);
larodError** error);

To replace them, the larod 3.0 API introduces:

+
typedef struct larodDevice larodDevice;
const larodDevice* larodGetDevice(const larodConnection* conn, const char* name,
const uint32_t instance, larodError** error);
const char* larodGetDeviceName(const larodDevice* dev, larodError** error);
bool larodGetDeviceInstance(const larodDevice* dev, uint32_t* instance,
larodError** error);
const larodDevice** larodListDevices(larodConnection* conn, size_t* numDevices,
larodError** error);
larodError** error);

Instead of choosing a larodChip when loading a model, a user of liblarod should now ask for a larodDevice handle with larodGetDevice(), e.g.

+
const larodDevice* dev = larodGetDevice(conn, "cpu-tflite", 0, &error);

The list of available strings like "cpu-tflite" can be found in nn-inference.md. This handle is then passed on when loading model, which means that the following functions have a signature change:

+
const larodDevice* dev /* changed */,
const larodAccess access, const char* name,
const larodMap* params, larodError** error);
bool larodLoadModelAsync(larodConnection* conn, const int inFd,
const larodDevice* dev /* changed */,
const larodAccess access,
const char* name, const larodMap* params,
larodLoadModelCallback callback, void* userData,
larodError** error);

New parameters in larodDestroyTensors()

+

When using buffers that are allocated by larod (using e.g. larodAllocModelInputs()), larodDestroyTensors() now also deallocate these buffers. Therefore the function signature has been changed to

+
bool larodDestroyTensors(larodConnection* conn /* new */,
larodTensor*** tensors, size_t numTensors,
larodError** error /* new */);

Cache policy

+

Clients that use DMA buffers are now responsible for handling all the cache synchronization. See "About dma-buf" in nn-inference.md for details.

+

larod 2.0

+

Set chip when loading model

+

Chip is now tied to the larodModel being loaded instead of the larodConnection. Hence, the following functions are removed:

+

Instead, one specifies the chip as an argument to larodLoadModel() and larodLoadModelAsync(). There is also an additional argument, larodMap, that can be used for back end specific parameters. When converting code from v1.0 to v2.0, the larodMap parameter can be set to NULL.

+

Rename "inference" to "job"

+

Since larod 2.0 introduces image processing capabilities, larod is no longer a pure inference service. Therefore, the word "Inference" has been replaced with "Job". For example, larodInferenceRequest() is now called larodJobRequest(). Additionally, larodCreateJobRequest() needs a larodMap parameter. When converting code from v1.0 to v2.0 the larodMap parameter can be set to NULL.

+

The following tables show the errors, structs and functions that have changed name, respectively:

+ + + + + +
1.0 2.0
LAROD_ERROR_INFERENCE LAROD_ERROR_JOB
+ + + + + +
1.0 2.0
larodInferenceRequest larodJobRequest
+ + + + + + + + + + + + + + + + + + + + + +
1.0 2.0
larodCreateInferenceRequest larodCreateJobRequest
larodDestroyInferenceRequest larodDestroyJobRequest
larodSetInferenceRequestModel larodSetJobRequestModel
larodSetInferenceRequestInputs larodSetJobRequestInputs
larodSetInferenceRequestOutputs larodSetJobRequestOutputs
larodSetInferenceRequestPriority larodSetJobRequestPriority
larodRunInference larodRunJob
larodRunInferenceAsync larodRunJobAsync
larodRunInferenceCallback larodRunJobCallback
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_architecture.html b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_architecture.html new file mode 100644 index 0000000..08a5027 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_architecture.html @@ -0,0 +1,93 @@ + + + + + + + +liblarod: Architecture + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Architecture
+
+
+

larod is intended to run as a systemd service and to be interfaced through a C library (from now on larod will refer to the service, if not stated otherwise). A program that uses this library, to connect to larod, will be referred to as a client. larod supports multiple clients at the same time.

+

Each client can load neural networks or other processing models (we will refer to these as just model in the future), run jobs and more to a specific device designed for accelerating these operations (including CPU's or on-chip IP blocks). If multiple devices are present, clients can choose between these using the API provided by the library.

+

Below we will describe different parts of larod in more detail. This can therefore get technical and can be skipped if you are not intending to work directly with the source code of larod.

+

Service

+

When clients connects to larod, using the library, an initial handshake is initiated over the D-Bus protocol with the _Service_. The Service manages the back end devices available for accelerating computation. It also manages _Sessions_, which we will explain further in the next section.

+

Moreover, it exposes a D-Bus interface for creating Sessions. However, the library should be used to connect to the Service (it has some more functionality than just calling the Service's D-Bus interface).

+

Session

+

After the initial handshake upon connecting to larod, the Service object creates an unique _Session_. A Session is an object which has exactly one client associated to it. If a client disconnects from larod, the associated Session gets destroyed as well (and all data specific to just that Session).

+

Using Sessions, clients can run various commands. Examples of commands are loading and deleting models, running jobs and more. Sessions can use all devices provided by Service during the construction of Session and a device is represented in larod as a _BackEndUnit_ object.

+

BackEndUnit

+

A _BackEndUnit_ is an abstract class representing a general device and software interface for accelerating computation of a model. It declares some abstract functions for the device such as loading and deleting a model, running jobs, and more. A concrete class representing an actual computational unit will thus sub-class BackEndUnit and override the previously stated abstract functions.

+

BackEndUnit also provides asynchronous loading of models and running of jobs. It does so by queuing these requests and letting the sub-class process these queues in its implementation-defined way. Furthermore, it maintains a list of Models loaded to it and their respective creators (models can be private or public, meaning that only the creator can modify it or anyone, respectively.)

+

The big picture

+

The figure below summarizes the different parts in larod and their relation to each other. Note that --<> in the figure represents so called aggregation in UML class diagrams, i.e. "has a" relationship. While --<x> represents a composition relationship and A symbolizes an empty triangle, i.e. inheritance ("is a" relationship).

+
+--------+ +----------+
| | | |
| Client |-------<>| liblarod |<--------------------+
| | | | |
+--------+ +----------+ |
^ |
| |
| D-Bus |
| | D-Bus
V |
+-----------+ |
| | |
+-------+ Service +------+ |
| | | | |
| +-----------+ | |
| | V
| | +---------+
| | | |
| +-----<x>| Session |
| | |
| +----+----+
| +-------------+ |
| | | |
+---<x>| BackEndUnit |<>-----------------+
| |
+-------------+
A A A
| | |
+------------+ | +------------+
| | |
| | |
| | |
+----+-----+ +-----+----+ +-----+----+
| | | | | |
| Device X | | Device Y | | Device Z |
| | | | | |
+----------+ +----------+ +----------+

Beginning from the upper left box, a client communicates with the Service and its Session through the library. The client can get the number of active Sessions from the Service. Clients can also call commands specified in Session through the library. For example loading models, running jobs and more.

+

The Service has a list of BackEndUnits that it creates and manages. The exact types of BackEndUnits are decided at compile time and corresponds to what is actually available on the hardware. Moreover, it manages the Sessions for all connected clients. Whenever a client disconnects, Service makes sure the corresponding Session destructs as well.

+

Session has references to the BackEndUnits available. Note however that it is the Service that is responsible for the BackEndUnits lifetime, i.e. several Sessions can use the same device and it is not deallocated when the last Session having a reference to it destructs.

+

Since several Sessions can use the same BackEndUnit, all relevant synchronization happens in the BackEndUnit class. Device X, Y and Z are (made-up) examples of real chips that may sub-class BackEndUnit. The actual functionality of loading models and running jobs resides in these respective classes.

+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_dma-buf.html b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_dma-buf.html new file mode 100644 index 0000000..d928485 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_dma-buf.html @@ -0,0 +1,91 @@ + + + + + + + +liblarod: Working with dma-buf + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Working with dma-buf
+
+
+

Background

+

Some backends in larod have support for DMA (Direct Memory Access) buffers. The idea behind such buffers is to minimize copying of data between buffers when running larod jobs. The way that DMA buffers are handled is up to the backend itself, but does in general cause an increase in performance; refer to preprocessing.md and nn-inference.md to find out which backends have dma-buf support. For more detailed information about DMA buffers, refer to Linux's official documentation.

+

larod is able to process DMA buffers as either input- or output tensors when running jobs; these are the only two cases where DMA buffers are relevant for larod. This buffer type is identified with LAROD_FD_TYPE_DMA property, which is often specified when creating the buffer.

+

Usage

+

Even though DMA buffers are faster in general, they introduce more complexity. The owner of the buffer that wants to either read or write to any DMA buffer must make sure to sync the CPU cache in the right moment.

+

In general, the following steps are required when running a preprocessing or inference job and dealing with DMA buffers:

+
    +
  1. Start CPU access of the input buffer if it is DMA, otherwise skip this step.
  2. +
  3. Write the desired data to the input buffer by e.g. using mempcy.
  4. +
  5. End CPU access of the input buffer if it is DMA, otherwise skip this step. The input buffer is now flushed and ready to be processed by larod.
  6. +
  7. Run the preprocessing- or inference job.
  8. +
  9. Start CPU access of the output buffer if it is DMA, otherwise skip this step.
  10. +
  11. Read from the output buffer by e.g. using memcpy.
  12. +
  13. End CPU access of the output buffer if it DMA, otherwise skip this step.
  14. +
+

The following code snippet shows an example of how to do steps 1-3 in the numbered list above.

+
bool copyToTensor(larodTensor* tensor,
size_t tensorSz,
uint8_t* data, size_t dataSz) {
uint32_t props = 0;
if (!larodGetTensorFdProps(tensor, &props, NULL))
return FALSE;
int fd = larodGetTensorFd(input, NULL);
if (fd < 0)
return FALSE;
int64_t tensorOffset = larodGetTensorFdOffset(tensor, NULL);
if (tensorOffset < 0)
return FALSE;
void* tensorData = mmap(NULL, tensorSz, PROT_WRITE, MAP_SHARED, fd,
(off_t) tensorOffset);
if (data == (void*) MAP_FAILED)
return FALSE;
if (props & LAROD_FD_PROP_DMABUF) {
struct dma_buf_sync sync;
memset(&sync, 0, sizeof(sync));
sync.flags = DMA_BUF_SYNC_START | DMA_BUF_SYNC_WRITE;
int tries = 5;
int ret = -1;
do {
ret = ioctl(fd, DMA_BUF_IOCTL_SYNC, &sync);
} while (--tries > 0 && ret == -1
&& (errno == EAGAIN || errno == EINTR));
if (ret)
return FALSE;
}
memcpy(tensorData, data, (dataSz <= tensorSz) ? dataSz : tensorSz);
if (props & LAROD_FD_PROP_DMABUF) {
struct dma_buf_sync sync;
memset(&sync, 0, sizeof(sync));
sync.flags = DMA_BUF_SYNC_END | DMA_BUF_SYNC_WRITE;
int tries = 5;
int ret = -1;
do {
ret = ioctl(fd, DMA_BUF_IOCTL_SYNC, &sync);
} while (--tries > 0 && ret == -1
&& (errno == EAGAIN || errno == EINTR));
if (ret)
return FALSE;
}
munmap(data, tensorSz);
return TRUE;
}
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_introduction-for-app-developers.html b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_introduction-for-app-developers.html new file mode 100644 index 0000000..3eb9e74 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_introduction-for-app-developers.html @@ -0,0 +1,205 @@ + + + + + + + +liblarod: Introduction to larod for app developers + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Introduction to larod for app developers
+
+
+
+

Overview

+

larod provides a simple unified C API for running machine learning and image preprocessing efficiently. No matter what a particular device can provide in terms of hardware for such operations – be it some specialized deep learning hardware accelerator or simply an ARM CPU – the larod API is all you need to access it.

+

Purpose and scope

+

Though the larod API is in some sense quite similar to libraries like Tensorflow Lite and ARMNN the purpose and scope of larod is actually rather different. The main purpose is to wrap other frameworks (like Tensorflow Lite) and thus let users access various different devices (exposing different APIs) through a single unified API. So an application could for example run both preprocessing on a GPU and neural network inference on an ARM CPU on the same device using only the larod API. The native APIs for these devices may be completely different, for example OpenCL and Tensorflow Lite respectively, but larod abstracts these into one simple and unified API.

+

Furthermore the larod stack is designed to solve a number of other problems as well, for instance related to security, power management and asynchronicity. Please see features and future features below for more on this.

+

Architecture

+

larod is made up of two components:

    +
  • liblarod: This is the shared library with which applications link dynamically to use larod. As an app developer liblarod, and larod.h in particular, will be your interface.
  • +
  • larod service: This is a Linux system service which liblarod communicates with to perform operations on the hardware.
  • +
+

By using the functions exposed by liblarod, an application can load neural network models and define preprocessing operations (crop, scale, image color format convert). These models are then used together with input data to create job requests, which are sent to the larod service for execution. Model data as well as input and output data are represented by file descriptors in liblarod.

+

Below we see an example of two apps using larod on a device that have three different devices supported by larod.

+
+-----------+ +-----------+
| | | |
| App 1 | | App 2 |
| | | |
+---------^-+ +-^---------+
| |
Static/Dynamic linking
| |
+--v----------v--+
| |
| liblarod |
| |
+-------^--------+
|
D-Bus and Unix socket
|
+-------v--------+
| |
| larod |
+--------> service <--------+
| | | |
| +-------^--------+ |
| | |
| Device-native SW interfaces |
| | |
+------v-----+ +-----v------+ +-----v------+
| | | | | |
| Device A | | Device B | | Device C |
| | | | | |
+------------+ +------------+ +------------+

Both apps in this example can access all three devices through the same API though the devices' native SW interfaces may be completely different. The larod service will arbitrate job scheduling between the apps to the supported devices.

+

Features

+

Easy to get started with

+

The larod API is very well documented and there are several basic example applications that exhibit how to use it in practice. A simplified workflow is described below together with the essential concepts in liblarod. The `larod-client` command line tool is a good start for interacting with the larod service.

+

Multiple apps per device

+

Many runtime libraries shipped with hardware accelerators (devices) for e.g. exercising neural networks will only let one process (application) access the hardware at the same time. This is of course a problem if there are multiple applications running on the device wanting to run inferences on the hardware at the same time. larod solves this problem by having the larod service acting as a proxy process, "owning" the hardware, through which other applications can access the accelerator.

+

Asynchronous

+

For any possibly time consuming calls to larod – such as loading a model or running a neural network inference – there are asynchronous versions in larod. This implies that one can for example queue up multiple inferences (possibly on different devices) at once without blocking the program execution of one’s application. Note that larod provides such an interface even though the device used has a native SW interface that does not support asynchronous calls.

+

Prioritized jobs

+

Sometimes certain jobs are more important to have finish more quickly than others. For example in the case of alternating an object detection model with a classifier model running inferences on the boxes obtained by the object detector. If the object detector must always run for every frame (say 30 fps) and a lot of boxes have been detected, all the classification inferences may block the object detector. To this end priority on inferences are supported in larod. So in this example the object detector inferences could use a higher priority making larod choose those over classification inferences whenever multiple jobs are in the queue.

+

Image preprocessing

+

larod has an interface for simply defining image preprocessing operations like crop, scale, image color format convert, and supports several devices that can perform such operations. Read more on this in preprocessing.md.

+

Minimal overhead

+

In designing and implementing larod, performance has been of utmost importance. Thus one should expect very little overhead (and indeed benchmarks confirm this) compared to using a native runtime library directly.

+

Capabilities probing

+

After loading a model into larod one can through calls to larod extract information from the model, e.g. about the models input or output tensors. For example if one has not constructed the model on one’s own, one may want to know what kind of input tensor(s) the model requires: What is the data type? The layout? The dimensions? larod has the answers!

+

Security

+

In order for an application to use an accelerator it must have the privileges to do so. Without larod that would mean that for some accelerators an application would get the rights to do things that they should not be allowed to do, like writing to memory that must not be touched. With larod however the applications require no such permissions as larod acts as a proxy process which have all those necessary permissions, through which the applications communicate with the hardware.

+

Zero-copy and map only once

+

The larod API provides a simple way to avoid any memory copies or mappings of input and output tensor data that are possible to avoid. The application simply declares how their buffers may be accessed and whether they will be used repeatedly, and then larod will take all measures possible to optimize memory accesses on these buffers. This implies both that larod jobs run faster and that larod uses the CPU less so as to leave more resources to other processes.

+

Concepts and workflow

+

The basic workflow of running a job with larod is as follows:

    +
  • Create a larodConnection.
  • +
  • Retrieve a suitable larodDevice.
  • +
  • Construct a larodModel on the selected device.
  • +
  • Construct input/output larodTensors and set up their file descriptors pointing to the respective data buffers.
  • +
  • Create a job request out of the larodModel and larodTensor handles.
  • +
  • Execute the job request.
  • +
+

A brief description of each step is given below. For details about each function call, see larod.h.

+

larodConnection

+

Connecting to the larod service and creating a larodConnection is as simple as

larodError* error = NULL;
larodConnection* conn = NULL;
larodConnect(&conn, &error);

The larodConnection represents the session that an application has with the larod service and is used in all the calls that interact with the service.

+

larodDevice

+

The larodDevice struct acts as an abstraction and handle to a specific device and its corresponding native software interface. A larodDevice does not necessarily have to mean something external like a deep-learning accelerator; it can also refer to a software interface that runs on the CPU itself.

+

A device in larod has a name and an instance number. The name is represented as a string and is usually provided by the user. Refer to preprocessing.md and nn-inference to look up the names of the supported preprocessing- and inference devices. The instance number of a device (starting from zero) represents a separate entity of that device and serves to distinguish multiple identical devices with the same name.

+

Before loading a model to run jobs with, a device must be retrieved with e.g. the following API function:

+
const larodDevice* dev = larodGetDevice(conn, "cpu-tflite", 0, &error);

The example above will return a device handle to CPU-based TFLite backend. This handle can then be used when loading a model as shown in the following section.

+

larodModel

+

A model represents a computational task with a set of inputs and outputs. The model is loaded onto a specific backend, specified by a larodDevice. There are two resources that one can use to configure the model:

+
    +
  • Binary data represented by a file descriptor.
  • +
  • A constructed larodMap that contains a set of parameters.
  • +
+

Both the type of data that is accepted as well as available parameters are backend specific. Typically, neural networks are loaded with binary data while certain preprocessing operations can be constructed purely from a larodMap.

+

For example, a TFLite model can be loaded with

FILE* fpModel = fopen("mobilenet.tflite", "rb");
int fd = fileno(fpModel);
larodModel* model = larodLoadModel(conn, fd,
larodGetDevice(conn, "cpu-tflite", 0, NULL),
LAROD_ACCESS_PRIVATE, "Mobilenet",
NULL /*larodMap*/, &error);

Similarly, a preprocessing model can be constructed from a larodMap. The file descriptor argument is omitted by setting it to -1 since there is no model file.

larodMap* modelParams = larodCreateMap(&error);
larodMapSetStr(modelParams, "image.input.format", "nv12", NULL);
larodMapSetIntArr2(modelParams, "image.input.size", 1280, 720, NULL);
larodMapSetStr(modelParams, "image.output.format", "rgb-interleaved", NULL);
larodMapSetIntArr2(modelParams, "image.output.size", 48, 48, NULL);
larodModel *model = larodLoadModel(conn, -1,
larodGetDevice(conn, "cpu-proc", 0, NULL),
LAROD_ACCESS_PRIVATE, "nv12->rgb",
modelParams, &error);

Every model can be made either public or private by setting the access parameter in larodLoadModel(). A private model is only usable by the same session that created it, even though it is visible for everyone, and the model is automatically deleted in the service when the session closes its connection. Making the model public gives everyone permission to use it and one must explicitly call larodDeleteModel() to delete the model from the service's pool of loaded models.

+

larodTensor

+

The input and output of a model are represented by larodTensor objects. Each tensor carries information about the data that is used when running a job, e.g. the file descriptor pointing to the data buffer and various meta data such as the dimensions and data type of the tensor.

+

There are two main ways of creating the larodTensors required to run a job on a specific model.

+

If you already have file descriptors representing the input and output buffers you want to use for your job the easiest method is to use larodCreateModelInputs() and larodCreateModelOutputs(), e.g.

size_t numInputs = 0;
larodTensor** inputTensors = larodCreateModelInputs(model, &numInputs, &error);

In this way, the tensors will be constructed with the right characteristics to match what the model expects. With this method, it is easy to probe properties of the tensor, i.e. the meta data, with e.g. larodGetTensorDims() and other similar functions. Now the only fields one has to set for every tensor is the file descriptor that points to the data with larodSetTensorFd() as well as the properties of the file descriptor using larodSetTensorFdProps().

+

For the properties of the file descriptor, you probably would want to use LAROD_FD_TYPE_DMA or LAROD_FD_TYPE_DISK that already specifies appropriate access flags for common file descriptor types. Setting invalid flags could result in undefined behavior. For example, if one do not set LAROD_FD_PROP_DMABUF for a dma-buf fd but only LAROD_FD_PROP_MAP, it could give inconsistent data results (since the CPU cache would probably not be synchronized correctly). Therefore, always set the correct access flags corresponding to the actual file descriptor type (c.f. LAROD_FD_TYPE_DMA and LAROD_FD_TYPE_DISK in larod.h)

+

If you for some further convenience would like larod to also allocate buffers for the tensors you can instead use larodAllocModelInputs() and larodAllocModelOutputs(), e.g.

size_t numInputs = 0;
larodTensor** inputTensors = larodAllocModelInputs(conn, model, 0, &numInputs,
NULL, &error);

These larodTensors are also populated with all tensor meta data, and in addition they contain valid file descriptors and properties of these file descriptors. To obtain the file descriptor from one of these tensors larodGetTensorFd() should be used.

+

Notably, for some backends the allocation calls provide the application with options of allocating certain types of buffers (e.g. dma-buf based) that may not otherwise be available to the application (for security reasons).

+

Any larodTensor, regardless of in which way it was created, must be destroyed explicitly with larodDestroyTensors() when it is no longer of interest. This will remove any cachings and allocations of the tensor inside the service as well as freeing up used memory for the tensor in the user's address space.

+

larodJobRequest

+

Running a job requires a larodJobRequest that is created from a larodModel handle together with the input and output tensors:

inputTensors, numInputs,
outputTensors, numOutputs,
NULL, &error);

The job request is executed simply with

larodRunJob(conn, jobReq, &error);

larod will write the output to the output tensors' file descriptors.

+

Asynchronous calls

+

The workflow for asynchronous job execution with larod is almost the same as the above, synchronous, one. Loading models and executing jobs can be performed asynchrounosly with the larodLoadModelAsync() and larodRunJobAsync() calls. The addition, in the asynchronous case, is that these require the user to define their own callback functions with the signatures

void (*larodLoadModelCallback)(larodModel* model, void* userData,
larodError* error);
void (*larodRunJobCallback)(void* userData, larodError* error);

For example, running larodRunJobAsync() will return as soon as the job request is scheduled for execution and the given callback function will be executed when the job is finished.

+

The user is free to pass on any data to the callback function with userData argument, but please note that the function should not carry out relatively extensive blocking tasks; since it would block liblarod's message bus.

+

Tensor tracking for performance

+

The larod service can track larodTensors in order to sometimes be able to improve memory access performance. For instance, a larodTensor with the file descriptor property LAROD_FD_PROP_MAP need only be mapped once in the service if it's recurring. This can improve performance a lot.

+

larodTensors allocated by larod - e.g. using larodAllocModelInputs() - are tracked by default. To enable tracking on larodTensors using buffers not allocated by larod larodTrackTensor() should be used.

+

Backward compatibility

+

liblarod is versioned using semantic versioning and as such the API is only broken in new major releases of liblarod. Further, ABI and API backward compatibility is maintained a period of time after each liblarod major release in order to ease the transition between API breaks for app developers.

+

ABI backward compatibility

+

ABI backward compatibility means that apps compiled against a liblarod with an older major version are still able to dynamically link perfectly well at runtime with a newer major version of liblarod, and thus does not need to be recompiled to run with that newer version. In other words, an app compiled against a liblarod of major version X < Y still works when linking dynamically with a liblarod of major version Y as long as liblarod Y is ABI backward compatible with liblarod X.

+

ABI backward compatibility is handled under the hood by symbol versioning in liblarod.

+

API backward compatibility

+

API backward compatibility means that apps written using the API of an older major version of liblarod are with a minor edit (see below) able to be compiled perfectly well against a newer major version of liblarod, and thus does not need to be rewritten to compile and run with the newer version. In other words, an app written using the liblarod X < Y major version API can with a small edit be made to compile against a liblarod of major version Y as long as liblarod Y is API backward compatible with liblarod X.

+

In liblarod API backward compatibility is handled by special preprocessing defines that can be defined before including larod.h to declare which liblarod API version is to be used.

+

In particular, by defining LAROD_API_VERSION_X before including larod.h below, it will declare version X of liblarod's functions and types:

#defined LAROD_API_VERSION_X
#include <larod.h>

In this case any function or type present in the liblarod X.*.* API will behave the same way it did when compiled with liblarod X.*.* even though a liblarod of a newer major version Y > X is used to build the app as long as liblarod Y is API backward compatible with liblarod X.

+

Future features

+

larod is under active development and the following features are not yet part of larod; however, there are plans to implement them.

+

Custom layers

+

At this stage larod does not support models using custom layers for all devices. However there are plans to implement such support in the future for any hardware that allows custom layers as long as it does not interfere too much with the larod architecture.

+

Power management

+

Many accelerators use a lot of power when running jobs on them. Devices typically have a tight power budget which dictates power usage levels that must not be exceeded. If for example a camera needs to run a power hungry task not related to an accelerator such as switching an IR filter, then jobs on the accelerator must be paused for a while. larod will automatically delay running jobs on the hardware in such a scenario by keeping track of the power usage on the camera, and an application using larod does not have to worry about it at all.

+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_larod-client.html b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_larod-client.html new file mode 100644 index 0000000..0686f09 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_larod-client.html @@ -0,0 +1,102 @@ + + + + + + + +liblarod: The larod-client tool + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
The larod-client tool
+
+
+

larod-client is a small program that uses the larod API in the same way as a typical application would do. Command line options and an interactive mode makes it easy to interact with the larod service. Some use case examples are listed in this file; please refer to the tool help (--help option) and ultimately the source code for nitty-gritty-details.

+

Use case examples

+

Listing the available backends in a running system

+

A useful sanity check of larod service running is to just list the available larodDevices in the system:

+
larod-client -a

Also the backend names listed are the identifiers that should be passed as the backend name as the -c option in most other larod-client use-cases.

+

Loading a neural network model and running an inference job

+

Here is an example of loading a model and executing an inference job using the TFLite CPU backend:

+
larod-client -d -c cpu-tflite -g ./mobilenet_v2_1.0_224_quant.tflite \
-i ./goldfish_224x224_uint8_RGB.bin -o ./goldfish-result.bin

This will load the MobileNetV2 model on the TFLite CPU backend, then perform one inference of the test image goldfish_224x224_uint8_RGB.bin. The binary output from the model is written to the file goldfish-result.bin.

+

Benchmarking a model

+

larod-client can be used to benchmark job times for a model. Here is an example:

+
larod-client -R 1000 -c cpu-tflite -g ./mobilenet_v2_1.0_224_quant.tflite \
-i ./goldfish_224x224_uint8_RGB.bin

Command line above loads the model and executes 1000 inference jobs on the model, then reports the average time per job.

+

Running asynchronously for maximum device utilization

+

One can achieve higher utilization (and thus performance) by ensuring that the device always has a job request ready after finishing a previous one. This can be accomplished by running the jobs asynchronously (i.e. queuing up the requests) with option -q:

+
larod-client -R 1000 -q -c cpu-tflite -g ./mobilenet_v2_1.0_224_quant.tflite \
-i ./goldfish_224x224_uint8_RGB.bin

Minimizing overhead by tracking the tensors

+

One can instruct larod to cache tensors for a model. This often results in fewer maintenance calls, yielding slightly higher performance. The options -X and -Y tracks the input and output tensors, respectively:

+
larod-client -R 1000 -q -c cpu-tflite -g ./mobilenet_v2_1.0_224_quant.tflite \
-i ./goldfish_224x224_uint8_RGB.bin -X -Y

Executing a preprocessing job

+

One can use larod-client to execute an image pre-processing job as well. Here is an example using the libyuv backend (cpu-proc) to convert an image from nv12/YCbCr to RGB interleaved:

+
larod-client -c cpu-proc -b image.input.size:224,224 \
-b image.input.format:nv12 -b image.output.size:224,224 \
-b image.output.format:rgb-interleaved -i goldfish-224x224.nv12 \
-o ./goldfish-224x224.rgb

Image pre-processing models models are specified by supplying set of key/value pairs when loading the model: these key/value pairs are supplied by the -b option. Please refer to the [preprocessing.md] documentation for details on how to specify a pre-processing model.

+

Running jobs indefinitely for maximum load

+

larod-client can be instructed to run jobs continuously. This can be used to add load to a system, e.g. to measure power consumption and temperature for a particular device. Set number-of-rounds to 0 to run continuously (note the use of the -q option for maximum load, see section ["Running asynchronously for maximum device utilization"](#running-asynchronously-for-maximum-device-utilization) above):

+
larod-client -R 0 -q -c cpu-tflite -g ./mobilenet_v2_1.0_224_quant.tflite \
-i ./goldfish_224x224_uint8_RGB.bin

Using the interactive mode

+

The "interactive mode" in larod-client can be started by providing the -r option. The interactive mode parses the input provided by the user on stdin and parses the lines like they were passed as command-line options. Here is an example interactive session:

+
# larod-client -r
2021-09-21T12:55:04.224 Connecting to larod...
2021-09-21T12:55:04.225 Connected
2021-09-21T12:55:04.225 larod-client 3.0.30-1. Use Ctrl-D to exit.
> -c cpu-tflite -R 1 -g ./mobilenet_v2_1.0_224_quant.tflite \
-i ./goldfish_224x224_uint8_RGB.bin
2021-09-21T12:55:25.358 Model mobilenet_v2_1.0_224_quant.tflite loaded
total time = 0
2021-09-21T12:55:25.388 Output written to:
2021-09-21T12:55:25.388 goldfish_224x224_uint8_RGB.bin.out0

Why don't I get any --interactive option in larod-client?

+

The interactive modes uses libreadline to read the commands from stdin. This library is not always present e.g. when building for an embedded target, thus the larod meson files are written to pick up libreadline optionally. If it's present in build environment the interactive mode will be included when building larod-client. Please check that libreadline is present in your build environment if you want to use the interactive mode.

+

Using dma-buf input and output for zero-copy

+

larod supports using dma-buf buffers for input and output. larod-client can allocate and run jobs with such buffers. Here is an example of running a convolutional neural network inference on Ambarella CVFlow using larod-allocated dma-buf for input and output:

+
larod-client -d -c ambarella-cvflow -g ./tf_mobilenet_v2_cavalry.bin \
-i ./missile_224x224_uint8_RGB.bin -o ./missile-result.bin -I larod-dma \
-O larod-dma

The options --output-buf-type and --input-buf-type are used to select the types of buffers. When types other than ext-disk are used larod-client will allocate buffers and then copy data into the input buffer(s) before starting the job. Similarly output data in the tempory buffers is written to disk when the job is done. Please refer to [dma-buf.md] for details on the buffer handling.

+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_model-formats.html b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_model-formats.html new file mode 100644 index 0000000..80c0590 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_model-formats.html @@ -0,0 +1,82 @@ + + + + + + + +liblarod: Data formats in larod + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Data formats in larod
+
+
+

This file describes data format of model files in larod.

+

Binary-data models

+

The backends that run neural networks are loaded with a file descriptor pointing to a blob of binary data. Usually, this would be a file produced by a toolchain related to the backend in question and the format of this data is therefore backend specific. See nn-inference for a list of all neural-network backends and their specific model-format requirements.

+

Deprecated larod format

+

For backwards compatibility, some backends support binary data packed in .larod format, as produced by the ../tools/model-converter/README.md "larod-converter" tool. This format is simply backend specific data packed in a Flatbuffers to define a model. NOTE: The .larod format is DEPRECATED and will be removed in the future. One can now skip the larod-convert step and send in models "as-is".

+

Parameters-only models

+

Some models do not need any binary data; instead a set of parameters is enough for these models. This is the case for some of the preprocessing models, where no file descriptor is passed in the model load call; instead the model is constructed from a given larodMap. The parameters associated with preprocessing backends can be found in the preprocessing document.

+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_nn-inference.html b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_nn-inference.html new file mode 100644 index 0000000..e13982e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_nn-inference.html @@ -0,0 +1,250 @@ + + + + + + + +liblarod: Neural Network Inference + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Neural Network Inference
+
+
+

Table of Contents

+ +

Neural network models

+

Neural network models are provided as binary blobs to the backends. These binary blobs are generally produced by the backend specific toolchains. These binary blobs are provided through an open file descriptor in the larodLoadModel()/larodLoadModelAsync() functions. Each backend is then responsible for unpacking, parsing and loading the binary model using its specific runtime calls.

+

Supported backends

+

Currently the following neural network inference backends are supported by larod.

+

TFLite CPU

+

This backend executes TFLite models on the SoC CPU(s). Note that the CPU subsystem generally have limited performance compared to dedicated hardware accelerators.

+

The device name of this backend is "cpu-tflite"; a device handle can be retrieved by providing this device name to larodGetDevice().

+

Supported format of model data

+
    +
  • A TFLite model, formally identified by a .tflite file extension.
  • +
  • A model as listed above converted to the DEPRECATED .larod format is also supported for backwards compatibility.
  • +
+

Supported buffer properties for running jobs

+

This backend only supports the fd access types LAROD_FD_PROP_MAP and LAROD_FD_PROP_READWRITE.

+

As the name indicates the former fd prop will allow the backend to map (using mmap) the tensor's file descriptor instead of reading or writing from them. Combined with tensor tracking (eg. using larodTrackTensor) the backend may be able to cache a tensor's mapping and thus allow for a very efficient zero-copy map-once memory access pattern.

+

The access type LAROD_FD_PROP_READWRITE will introduce a memory copy and read()/write() calls for each input and output tensor buffer - these extra operations will degrade performance.

+

Allocation support

+

Tensors allocated using the calls larodAllocModelInputs() and larodAllocModelOutputs() with a model loaded to this backend will have file descriptors that are readable, writable and mappable. Accordingly the tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

TFLite EdgeTPU

+

This backend executes TFLite models on the Google EdgeTPU accelerator.

+

The device name of this backend is "google-edge-tpu-tflite"; a device handle can be retrieved by providing this device name to larodGetDevice().

+

Supported format of model data

+
    +
  • A TFLite model, formally identified by a .tflite file extension. The model needs to be compiled for EdgeTPU in an additional step after being converted from TensorFlow to TFLite format.
  • +
  • A model as listed above converted to the DEPRECATED .larod format is also supported for backwards compatibility.
  • +
+

Supported buffer properties for running jobs

+

This backend supports the fd access types LAROD_FD_PROP_DMABUF, LAROD_FD_PROP_MAP and LAROD_FD_PROP_READWRITE for input tensors, but only the latter two for output tensors.

+

The access type LAROD_FD_PROP_DMABUF provides less overhead since the buffer fd will be passed directly to the EdgeTPU library through TFLite without extra copies in larod. The fd offsets for input tensors must be 0 when using the LAROD_FD_PROP_DMABUF access method. The application is responsible for ensuring that the external RAM is up to date with CPU cache before the inference is started (the service will not initiate any cache flush operations). Refer to About dma-buf for more info about dma-buf and user space synchronization.

+

The access type LAROD_FD_PROP_MAP will allow the backend to map (using mmap) the tensor's file descriptor instead of reading or writing from them. Combined with tensor tracking (eg. using larodTrackTensor) the backend may be able to cache a tensor's mapping and thus allow for a very efficient zero-copy map-once memory access pattern.

+

The access type LAROD_FD_PROP_READWRITE will introduce a memory copy and read()/write() calls for each tensor buffer - these extra operations will degrade performance. Only the access type LAROD_FD_PROP_READWRITE is supported for output tensors.

+

Allocation support

+

Using the call larodAllocModelInputs() with a model loaded to this backend two kinds of tensor buffers can be allocated. If the LAROD_FD_PROP_READWRITE is not set as required in the call, then tensors with mappable file descriptors based on ARTPEC VMEM dma-bufs will be returned. As such these tensors will have the fd props LAROD_FD_PROP_MAP and LAROD_FD_PROP_DMABUF set. If however LAROD_FD_PROP_READWRITE is required, then tensors with readable, writable and mappable file descriptors will be returned. As such these tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

Tensors allocated using larodAllocModelOutputs() and with a model loaded to this backend will have file descriptors that are readable, writable and mappable. Accordingly the tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

Ambarella CVFlowNN

+

This backend executes neural network models on the VP (Vector Processor) in Ambarella chips. The models need to be converted to a suitable format using Ambarella toolchain before deployment on this backend.

+

The device name of this backend is "ambarella-cvflow"; a device handle can be retrieved by providing this device name to larodGetDevice().

+

Supported format of model data

+
    +
  • A cavalary bin, i.e. a model converted using Ambarella's toolchain.
  • +
  • A model as listed above converted to the DEPRECATED .larod format is also supported for backwards compatibility.
  • +
+

Supported buffer properties

+

This backend supports the fd access types LAROD_FD_PROP_DMABUF and LAROD_FD_PROP_READWRITE.

+

The access type LAROD_FD_PROP_DMABUF provides less overhead since the buffer will be passed directly to the underlying inference framework without extra copies in larod. The client is responsible for cache maintenance of the buffers when using LAROD_FD_PROP_DMABUF. Refer to About dma-buf for more info about dma-buf and user space synchronization. Note that the supplied dma-bufs must be allocated by the Ambarella platform.

+

The access type LAROD_FD_PROP_READWRITE will introduce a memory copy and read()/write() calls for each input and output tensor buffer - these extra operations will degrade performance.

+

Allocation support

+

Using the calls larodAllocModelInputs() and larodAllocModelOutputs() with a model loaded to this backend two kinds of tensor buffers can be allocated. If the LAROD_FD_PROP_READWRITE is not set as required in the call, then tensors with mappable file descriptors based on Cavalry Mem dma-bufs will be returned. As such these tensors will have the fd props LAROD_FD_PROP_MAP and LAROD_FD_PROP_DMABUF set. If however LAROD_FD_PROP_READWRITE is required, then tensors with readable, writable and mappable file descriptors will be returned. As such these tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

TFLite GLGPU

+

This backend executes TFLite models on an OpenGL capable HW accelerator.

+

The device name of this backend is "gpu-tflite"; a device handle can be retrieved by providing this device name to larodGetDevice().

+

NOTE This is an experimental feature and could be removed or changed at any time.

+

Supported format of model data

+
    +
  • A TFLite model, formally identified by a .tflite file extension.
  • +
  • A model as listed above converted to the DEPRECATED .larod format is also supported for backwards compatibility.
  • +
+

Supported buffer properties for running jobs

+

This backend only supports the fd access types LAROD_FD_PROP_MAP and LAROD_FD_PROP_READWRITE.

+

As the name indicates the former fd prop will allow the backend to map (using mmap) the tensor's file descriptor instead of reading or writing from them. Combined with tensor tracking (eg. using larodTrackTensor) the backend may be able to cache a tensor's mapping and thus allow for a very efficient zero-copy map-once memory access pattern.

+

The access type LAROD_FD_PROP_READWRITE will introduce a memory copy and read()/write() calls for each input and output tensor buffer - these extra operations will degrade performance.

+

Allocation support

+

Tensors allocated using the calls larodAllocModelInputs() and larodAllocModelOutputs() with a model loaded to this backend will have file descriptors that are readable, writable and mappable. Accordingly the tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

TFLite ARTPEC-8 DLPU

+

This backend executes TFLite models on the DLPU accelerator in ARTPEC-8.

+

The device name of this backend is "axis-a8-dlpu-tflite"; a device handle can be retrieved by providing this device name to larodGetDevice().

+

NOTE This is an experimental feature and could be removed or changed at any time.

+

Supported format of model data

+
    +
  • A TFLite model, formally identified by a .tflite file extension.
  • +
  • A model as listed above converted to the DEPRECATED .larod format is also supported for backwards compatibility.
  • +
+

Supported buffer properties for running jobs

+

This backend only supports the fd access types LAROD_FD_PROP_MAP and LAROD_FD_PROP_READWRITE.

+

As the name indicates the former fd prop will allow the backend to map (using mmap) the tensor's file descriptor instead of reading or writing from them. Combined with tensor tracking (eg. using larodTrackTensor) the backend may be able to cache a tensor's mapping and thus allow for a very efficient zero-copy map-once memory access pattern.

+

The access type LAROD_FD_PROP_READWRITE will introduce a memory copy and read()/write() calls for each input and output tensor buffer - these extra operations will degrade performance.

+

Allocation support

+

Tensors allocated using the calls larodAllocModelInputs() and larodAllocModelOutputs() with a model loaded to this backend will have file descriptors that are readable, writable and mappable. Accordingly the tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

Model compilation and caching

+

When a model is loaded on the ARTPEC-8 DLPU it is compiled into a different format native to the accelerator, the .nb format, also referred to NBG. Since this conversion takes a lot of time, sometimes up to several minutes depending on the model, the .nb files are subsequently cached in flash after the compilation is complete. Once a file is cached the corresponding .tflite or .larod model will be loaded substantially faster, as the entire compilation step will be skipped.

+

The cached NBG files are stored in /var/lib/larod/nbg-cache. This cache storage is limited to 30,000 KiB and 10 files. Whenever a new model file is compiled a new NBG file will be created in this location. If the maximum number of models is exceeded, or if the accumulated size of all the cached models exceeds the storage limit, older models will be removed to make space for the new one.

+
Skipping recompilation of models after flashing a camera
+

When a new firmware is flashed onto an Axis camera there will be no cached models. By default this implies that when a model is loaded it will once again have to be compiled, resulting in a long load time. This can be bypassed by placing a previously compiled .nb file corresponding to the desired model into /var/lib/larod/nbg-cache/. If everything works correctly the .nb file will be correctly identified and no compilation should be required. This is a good way to reduce development cycle times.

+

NOTE This method of skipping recompiling a model when flashing the firmware assumes that the firmware is the same version as the one that originally compiled the model. There is no guarantee that the .nb format remains the same throughout firmware versions, or that a newer firmware will be backwards compatible with a model compiled on an older firmware.

+

About dma-buf

+

The Linux dma-buf framework provides a mechanism for userspace programs to indicate beginning and end of access of a buffer from userspace. This allows the buffer exporter in kernel space to take appropriate actions, e.g. flushing or invalidating CPU caches depending on the type of userspace access. This synchronization is performed by calling ioctl(DMA_BUF_IOCTL_SYNC) on the dma-buf file descriptor. The arguments to the ioctl indicates start/stop and type of userspace access. Details on the dma-buf can be found here.

+

As mentioned previously, on backends that supports dma-bufs, the user application is responsible for this synchronization. However, if a dma-buf is supplied to a backend that doesn't support it (i.e. by forwarding the dma-buf directly to the underlying runtime API), but supports mapping it (i.e. LAROD_FD_PROP_MAP is set), it will appropriately take care of the synchronization when accessing the buffer through the CPU.

+

For example, let's say we supply a LAROD_FD_TYPE_DMA fd (i.e. LAROD_FD_PROP_MAP and LAROD_FD_PROP_DMABUF is set) to "cpu-tflite". This backend doesn't support dma-bufs but it supports mapping fds (i.e. LAROD_FD_PROP_MAP). This backend will therefore call ioctl(DMA_BUF_IOCTL_SYNC) with appropriate arguments whenever it accesses the mapped dma-buf fd through the CPU. Specifically, it will invalidate the CPU cache before reading the input tensors for the job request. Similarly, it will flush the CPU cache after writing to the output tensors.

+

Supported buffer properties

+

This is an overview of what file descriptor properties are supported by the various neural network backends. Note that the LAROD_FD_PROP_ prefix have been omitted from the table headers in the interest of brevity. Please see larod.h for more info about the LAROD_FD_PROP_* flags.

+

When running jobs

+

Please note that though several properties may be supported by a backend, a tensor buffer supplied for running a job need only have at least one of the backend's supported properties to be usable for the job. Having said that, each property comes with different implications on memory access performance.

+

Input tensors

+ + + + + + + + + + + + + +
Backend READWRITE MAP DMABUF
TFLite CPU Yes Yes
TFLite EdgeTPU Yes Yes Yes
CVFlowNN Yes Yes
TFLite GLGPU Yes Yes
TFLite ARTPEC-8 DLPU Yes Yes
+

Output tensors

+ + + + + + + + + + + + + +
Backend READWRITE MAP DMABUF
TFLite CPU Yes Yes
TFLite EdgeTPU Yes Yes
CVFlowNN Yes Yes
TFLite GLGPU Yes Yes
TFLite ARTPEC-8 DLPU Yes Yes
+

When allocating tensors

+

Please note that though several properties may be supported by a backend, it may not be possible to allocate buffers having all the properties at the same time.

+

Input tensors

+ + + + + + + + + + + + + +
Backend READWRITE MAP DMABUF
TFLite CPU Yes Yes
TFLite EdgeTPU Yes Yes Yes
CVFlowNN Yes Yes Yes
TFLite GLGPU Yes Yes
TFLite ARTPEC-8 DLPU Yes Yes
+

Output tensors

+ + + + + + + + + + + + + +
Backend READWRITE MAP DMABUF
TFLite CPU Yes Yes
TFLite EdgeTPU Yes Yes
CVFlowNN Yes Yes Yes
TFLite GLGPU Yes Yes
TFLite ARTPEC-8 DLPU Yes Yes
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_preprocessing.html b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_preprocessing.html new file mode 100644 index 0000000..4bf8743 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_doc_preprocessing.html @@ -0,0 +1,328 @@ + + + + + + + +liblarod: Preprocessing + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Preprocessing
+
+
+

Table of Contents

+ +

What is preprocessing?

+

Preprocessing in larod can be used to process input data so that it has the format, size and shape a neural network expects. For optimal performance the processing operations can be offloaded to specialized preprocessing hardware. Each supported preprocessing hardware accelerator is exposed to applications through a larodDevice struct in larod.

+

Currently only image processing operations are supported.

+

Preprocessing job configuration

+

Preprocessing jobs are configured with key-value parameters in a larodMap. The configuration describes the data that you have and how you want the data to be. The selected backend will crop, scale and convert according to what the description requires.

+

Below is an example job configuration. It describes a job that takes a 1280x720 input image in NV12 format, crops out 200x200 from the center of the image (X offset 540 and Y offset 260), converts it to the RGB interleaved format and scales it down to 48x48. In this case the libyuv backend will be used to perform these operations. In the interest of brevity error handling has been omitted.

+
larodMap* modelParams = larodCreateMap(NULL);
larodMapSetStr(modelParams, "image.input.format", "nv12", NULL);
larodMapSetIntArr2(modelParams, "image.input.size", 1280, 720, NULL);
larodMapSetStr(modelParams, "image.output.format", "rgb-interleaved", NULL);
larodMapSetIntArr2(modelParams, "image.output.size", 48, 48, NULL);
// Our modelParams larodMap replaces the model fd as a model description.
larodModel *model = larodLoadModel(conn, -1,
larodGetDevice(conn, "cpu-proc", 0, NULL),
LAROD_ACCESS_PRIVATE, "model-name",
modelParams, NULL);
larodMap* jobParams = larodCreateMap(NULL);
// We can change the value of "image.input.crop" in our map between running jobs
// on the same model if we wish to.
larodMapSetIntArr4(jobParams, "image.input.crop", 540, 260, 200, 200, NULL);
larodSetJobRequestParams(jobReq, jobParams, NULL);
larodRunJob(conn, jobReq, NULL);

Note that should one be interested in just scaling the original image (from 1280x720 to 48x48) without cropping it first, one could simply neglect to provide a larodMap altogether in the larodJobRequest used.

+

Common operations

+

Image preprocessing backends may support the following common image processing operations. Backends are not required to support all operations and image formats.

+ + + + + + + + + +
Operation Description
Image crop Crop out a part of an image.
Image scale Scale up or down an image.
Image convert Convert an image between two color formats.
+

Common configuration parameters

+

Image preprocessing backends may support the common image processing parameters in the tables below to describe processing jobs. Backends are not required to support all parameters and values.

+

Load model parameters

+

The following are parameters that can be set on a larodMap provided when loading a model using e.g. larodLoadModel.

+ + + + + + + + + + + + + + + +
Key Value
image.input.format* String, describing input image format.
image.input.size* 2-integer-tuple, describing input image width and height.
image.input.row-pitch Integer, describing input image width including padding, in bytes. Inferred if not explicilty given.
image.output.format* String, describing output image format.
image.output.size* 2-integer-tuple, describing output image width and height.
image.output.row-pitch Integer, describing output image width including padding, in bytes. Inferred if not explicitly given.
+

*: This parameter is mandatory for all preprocessing backends outlined in this document.

+

Job request parameters

+

The following are parameters that can be set on a larodMap of a larodJobRequest. The map can be attached to a job request upon its creation (larodCreateJobRequest) or later using larodSetJobRequestParams. The parameters of the map will then be used in a subsequent call to e.g. larodRunJob using this job request.

+

Since these parameters are not attached to a model it's possible to send job requests having larodMaps with different values for these parameters to the same model.

+ + + + + +
Key Value
image.input.crop 4-integer-tuple, describing the crop window. The elements in the tuple are: X offset in input image, Y offset in input image, crop window width, crop window height.
+

Supported backends

+

Currently the following image preprocessing backends/devices are supported by larod.

+

libyuv

+

The libyuv backend uses the open source library libyuv. It runs on most CPUs and in particular uses the SIMD technology Neon on Arm architectures to accelerate parallelizable computation. It supports image crop, scale and format conversion.

+

The device name of this backend is "cpu-proc"; a device handle can be retrieved by providing this device name to larodGetDevice().

+

libyuv backend constraints

+
    +
  • The width, height and row pitch, for both the input and the output image, must be a multiple of 2.
  • +
+

Supported buffer properties for running jobs

+

This backend only supports the fd access types LAROD_FD_PROP_MAP and LAROD_FD_PROP_READWRITE.

+

As the name indicates the former fd prop will allow the libyuv backend to map (using mmap) the tensor's file descriptor instead of reading or writing from them. Combined with tensor tracking (e.g. using larodTrackTensor) the libyuv backend may be able to cache a tensor's mapping and thus allow for a very efficient zero-copy map-once memory access pattern.

+

The access type LAROD_FD_PROP_READWRITE will introduce a memory copy and read()/write() calls for each input and output tensor buffer - these extra operations will degrade performance.

+

Allocation support

+

Tensors allocated using the calls larodAllocModelInputs() and larodAllocModelOutputs() with a model loaded to this backend will have file descriptors that are readable, writable and mappable. Accordingly the tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

ACE

+

The ACE backend uses Axis Compute Engine in Axis ARTPEC series chips. It only supports image format conversion.

+

The device name of this backend is "axis-ace-proc"; a device handle can be retrieved by providing this device name to larodGetDevice().

+

ACE backend constraints

+
    +
  • The input image width must be a multiple of 8.
  • +
  • The input image height must be 4 or larger.
  • +
  • The input image row pitch must be equal to input image width.
  • +
  • The output image row pitch must be equal to output image width.
  • +
  • The input image size must be small enough so that width*height < 4,194,304.
  • +
+

Supported buffer properties for running jobs

+

This backend only supports the fd access types LAROD_FD_PROP_MAP and LAROD_FD_PROP_READWRITE.

+

As the name indicates the former fd prop will allow the ACE backend to map (using mmap) the tensor's file descriptor instead of reading or writing directly from it. Combined with tensor tracking (e.g. using larodTrackTensor) the ACE backend may be able to cache a tensor's mapping. The backend does not support zero copy, meaning that data will still be copied from the memory mapping to the actual buffer for the job.

+

The access type LAROD_FD_PROP_READWRITE will do a memory copy through read()/write() calls for each input and output tensor buffer - these extra operations will degrade performance.

+

Allocation support

+

Tensors allocated using the calls larodAllocModelInputs() and larodAllocModelOutputs() with a model loaded to this backend will have file descriptors that are readable, writable and mappable. Accordingly the tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

VProc

+

The VProc backend uses VPROC in Ambarella CV series chips. It supports image crop, scale and format conversion.

+

The device name of this backend is "ambarella-cvflow-proc"; a device handle can be retrieved by providing this device name to larodGetDevice().

+

VProc backend constraints

+
    +
  • The input image width must be a multiple of 2 when input format is nv12.
  • +
  • The input image height must be a multiple of 2 when input format is nv12.
  • +
  • The input image row pitch must be a multiple of 32.
  • +
  • The output image width must be a multiple of 2 when output format is nv12.
  • +
  • The output image height must be a multiple of 2 when output format is nv12.
  • +
  • The output image row pitch must be a multiple of 32.
  • +
  • For operations requiring both color format conversion and scaling the scale factor must be at most 4.
  • +
  • For operations not requiring color format conversion the scale factor must be at most 256.
  • +
+

Supported buffer properties for running jobs

+

This backend supports the fd access types LAROD_FD_PROP_DMABUF and LAROD_FD_PROP_READWRITE.

+

The access type LAROD_FD_PROP_DMABUF provides less overhead since the buffer will be passed directly the underlying processing framework without extra copies in larod. When using LAROD_FD_PROP_DMABUF, the application is responsible for ensuring that the external RAM is up to date with CPU cache before the inference is started (the service will not initiate any cache flush operations). Refer to About dma-buf for more information about dma-buf and user space synchronization.

+

The access type LAROD_FD_PROP_READWRITE will introduce a memory copy and read()/write() calls for each input and output tensor buffer - these extra operations will degrade performance.

+

Allocation support

+

Using the calls larodAllocModelInputs() and larodAllocModelOutputs() with a model loaded to this backend two kinds of tensor buffers can be allocated. If the LAROD_FD_PROP_READWRITE is not set as required in the call, then tensors with mappable file descriptors based on Cavalry Mem dma-bufs will be returned. As such these tensors will have the fd props LAROD_FD_PROP_MAP and LAROD_FD_PROP_DMABUF set. If however LAROD_FD_PROP_READWRITE is required, then tensors with readable, writable and mappable file descriptors will be returned. As such these tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

OpenCL

+

OpenCL is a compute framework which enables programmers to write programs that execute across heterogeneous platforms such as CPUs, GPUs and more. larod contains predefined OpenCL programs which lets a larod user through its OpenCL backend conveniently run image crop, scale and format conversion.

+

The platform larod runs on may have several devices supporting the OpenCL framework. larod can run its operations on any of these devices; each OpenCL device has a unique device name.

+

Choosing a specific device

+

There are currently three available OpenCL backends; these are "axis-a7-gpu-proc", "axis-a8-dlpu-proc" and "axis-a8-gpu-proc". A device handle to one of these backends can be retrieved by providing the respective device name to larodGetDevice().

+

The names of the three device are rather self explanatory; it is possible to run OpenCL on the GPU for Artpec-7 and both GPU and DLPU on Artpec-8 on platforms using one of these SoCs.

+

Supported buffer properties for running jobs

+

The backends only support the fd access type LAROD_FD_PROP_READWRITE.

+

Allocation support

+

Tensors allocated using the calls larodAllocModelInputs() and larodAllocModelOutputs() with a model loaded to this backend will have file descriptors that are readable, writable and mappable. Accordingly the tensors will have the fd props LAROD_FD_PROP_READWRITE and LAROD_FD_PROP_MAP set.

+

Supported operations

+

The following table describes supported operations for each backend.

+ + + + + + + + + + + +
Backend crop convert scale
libyuv Yes Yes Yes
ACE Yes
VProc Yes Yes Yes
OpenCL Yes Yes Yes
+

Supported formats

+

Operations requiring a color format conversion

+

The following table describes supported input formats for operations requiring a color format conversion.

+ + + + + + + + + + + +
Backend nv12 rgb-interleaved rgb-planar
libyuv Yes Yes
ACE Yes
VProc Yes
OpenCL Yes
+

The following table describes supported output formats for operations requiring a color format conversion.

+ + + + + + + + + + + +
Backend nv12 rgb-interleaved rgb-planar
libyuv Yes Yes Yes
ACE Yes
VProc Yes
OpenCL Yes
+

Operations not requiring a color format conversion

+

The following table describes supported image formats for operations not requiring a color format conversion, i.e. the input and output formats are identical. This could be e.g. a pure scaling operation.

+ + + + + + + + + +
Backend nv12 rgb-interleaved rgb-planar
libyuv Yes Yes
VProc Yes Yes
OpenCL Yes
+

Supported buffer properties

+

This is an overview of what file descriptor properties are supported by the various preprocessing backends. Note that the LAROD_FD_PROP_ prefix have been omitted from the table headers in the interest of brevity. Please see larod.h for more info about the LAROD_FD_PROP_* flags.

+

When running jobs

+

Please note that though several properties may be supported by a backend, a tensor buffer supplied for running a job need only have at least one of the backend's supported properties to be usable for the job. Having said that, each property comes with different implications on memory access performance.

+

Input tensors

+ + + + + + + + + + + +
Backend READWRITE MAP DMABUF
libyuv Yes Yes
ACE Yes Yes
VProc Yes Yes Yes
OpenCL Yes
+

Output tensors

+ + + + + + + + + + + +
Backend READWRITE MAP DMABUF
libyuv Yes Yes
ACE Yes Yes
VProc Yes Yes Yes
OpenCL Yes
+

When allocating tensors

+

Please note that though several properties may be supported by a backend, it may not be possible to allocate buffers having all the properties at the same time.

+

Input tensors

+ + + + + + + + + + + +
Backend READWRITE MAP DMABUF
libyuv Yes Yes
ACE Yes Yes
VProc Yes Yes Yes
OpenCL Yes Yes
+

Output tensors

+ + + + + + + + + + + +
Backend READWRITE MAP DMABUF
libyuv Yes Yes
ACE Yes Yes
VProc Yes Yes Yes
OpenCL Yes Yes
+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_tools_model-converter_README.html b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_tools_model-converter_README.html new file mode 100644 index 0000000..9e812b9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/md__opt_builder-doc_larod_tools_model-converter_README.html @@ -0,0 +1,94 @@ + + + + + + + +liblarod: Model converter tool (DEPRECATED) + + + + + + + + + + +
+
+ + + + + + + +
+
liblarod +  3.1.28 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Model converter tool (DEPRECATED)
+
+
+

DEPRECATED

+

The .larod format has been deprecated. Instead, each backend expects a model in its native format (e.g. .tflite for TFLite); thus, converting models with this converter tool is no longer a requirement. This tool will be removed in the future.

+

Overview

+

Here you will find the tool to convert your model (native to a certain backend, e.g. TFLite) to the DEPRECATED .larod model format, as well as instructions for how to use the tool.

+

The currently supported formats are those of TFLite (.tflite file) and CVFlow (.bin file).

+

Running

+

The script which will let you run the conversions is called larod-convert.py. If you are working with a SDK, it is a good chance that the script is already installed and present in your PATH. Users that have access to larod source should check out the installation instructions.

+

To see what parameters the script takes as well as general info about its usage please run:

+
larod-convert.py --help

It's likely that the parameter required will vary from backend to backend, and further will change over time as larod develops. But for now, for example to run a conversion from a TFLite model named sample.tflite do:

+
larod-convert.py tflite sample.tflite

The output will be written to sample.larod unless you've specified otherwise. This file is ready to be loaded as a model into larod.

+

Installing

+

For those who work with the source code of larod directly, one can easily install larod-convert.py and its dependencies.

+

The script requires you to have python3, so please install it before proceeding if you don't already have it.

+

The wrapping of backend model formats uses flatbuffers to package the binary data. A couple of autogenerated python classes are used by larod-convert; these are generated when configuring the build with Meson (from the root directory):

+
meson build

Supposing that your working directory is the one containing this file, to install the conversion script simply do:

+
pip3 install .

Afterwards, larod-convert.py should be in you PATH (though you may need to refresh it with e.g. a rehash or by starting a new terminal).

+

That's really all setup required and you are now ready to run your conversions.

+

Support

+

Please email tenso.nosp@m.r@ax.nosp@m.is.co.nosp@m.m for any questions regarding this tool.

+
+ + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/menu.js b/docs/acap-sdk-version-3/api/src/api/larod/html/menu.js new file mode 100644 index 0000000..97db4c2 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/menu.js @@ -0,0 +1,26 @@ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/menudata.js b/docs/acap-sdk-version-3/api/src/api/larod/html/menudata.js new file mode 100644 index 0000000..3268a6f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/menudata.js @@ -0,0 +1,24 @@ +var menudata={children:[ +{text:"Larod Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Data Structures",url:"annotated.html",children:[ +{text:"Data Structures",url:"annotated.html"}, +{text:"Data Structure Index",url:"classes.html"}, +{text:"Data Fields",url:"functions.html",children:[ +{text:"All",url:"functions.html"}, +{text:"Variables",url:"functions_vars.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"Globals",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"l",url:"globals.html#index_l"}]}, +{text:"Functions",url:"globals_func.html",children:[ +{text:"l",url:"globals_func.html#index_l"}]}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Enumerations",url:"globals_enum.html"}, +{text:"Enumerator",url:"globals_eval.html",children:[ +{text:"l",url:"globals_eval.html#index_l"}]}, +{text:"Macros",url:"globals_defs.html"}]}]}, +{text:"ACAP3 Main Page",url:"../../../main/html/index.html"}, +{text:"SDK Main Page",url:"../../../sdk/html/index.html"}, +{text:"API Main Page",url:"../../../main/html/acap3_api.html"}]} diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/nav_f.png b/docs/acap-sdk-version-3/api/src/api/larod/html/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/nav_g.png b/docs/acap-sdk-version-3/api/src/api/larod/html/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +liblarod: Related Pages + + + + + + + + + + +
    +
    + + + + + + + +
    +
    liblarod +  3.1.28 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    + + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_0.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_0.html new file mode 100644 index 0000000..f25360b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_0.js new file mode 100644 index 0000000..6640298 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['architecture',['Architecture',['../md__opt_builder-doc_larod_doc_architecture.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_1.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_1.html new file mode 100644 index 0000000..b13f0f7 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_1.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_1.js new file mode 100644 index 0000000..82cef20 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['code',['code',['../structlarodError.html#a059162c8307af42fcf322163a3dbdc54',1,'larodError']]], + ['changes_20in_20the_20larod_20api',['Changes in the larod API',['../md__opt_builder-doc_larod_doc_api-changes.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_2.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_2.html new file mode 100644 index 0000000..9543c57 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_2.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_2.js new file mode 100644 index 0000000..92f15cf --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['deprecated_20list',['Deprecated List',['../deprecated.html',1,'']]], + ['data_20formats_20in_20larod',['Data formats in larod',['../md__opt_builder-doc_larod_doc_model-formats.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_3.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_3.html new file mode 100644 index 0000000..03405c0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_3.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_3.js new file mode 100644 index 0000000..1cb0c75 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['introduction_20to_20larod_20for_20app_20developers',['Introduction to larod for app developers',['../md__opt_builder-doc_larod_doc_introduction-for-app-developers.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_4.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_4.html new file mode 100644 index 0000000..8e1f4b9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_4.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_4.js new file mode 100644 index 0000000..a487208 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_4.js @@ -0,0 +1,165 @@ +var searchData= +[ + ['larod_2eh',['larod.h',['../larod_8h.html',1,'']]], + ['larod_5faccess_5finvalid',['LAROD_ACCESS_INVALID',['../larod_8h.html#a41ad6dc8e9f9ffebc03faf115167aba5ad1bbc121e391d6a993b7d9a097cf136e',1,'larod.h']]], + ['larod_5faccess_5fprivate',['LAROD_ACCESS_PRIVATE',['../larod_8h.html#a41ad6dc8e9f9ffebc03faf115167aba5afc936d97349d892279eec5c41c154d41',1,'larod.h']]], + ['larod_5faccess_5fpublic',['LAROD_ACCESS_PUBLIC',['../larod_8h.html#a41ad6dc8e9f9ffebc03faf115167aba5a715ba74abd18b8d73cd1dad0385ea031',1,'larod.h']]], + ['larod_5fchip_5face',['LAROD_CHIP_ACE',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a3e52cd01d81d74f582a56cdec05e7eb0',1,'larod.h']]], + ['larod_5fchip_5fcvflow_5fnn',['LAROD_CHIP_CVFLOW_NN',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a235b0d39b8e9744ea431d8be6ac25bba',1,'larod.h']]], + ['larod_5fchip_5fcvflow_5fproc',['LAROD_CHIP_CVFLOW_PROC',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a05ffd25bca2e249851e9c1f5043b89a1',1,'larod.h']]], + ['larod_5fchip_5fdebug',['LAROD_CHIP_DEBUG',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a6c04e9bfa2d61ab794f9333c0e7f161c',1,'larod.h']]], + ['larod_5fchip_5finvalid',['LAROD_CHIP_INVALID',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a77021caf91709d57dc58a5290d7aa394',1,'larod.h']]], + ['larod_5fchip_5flibyuv',['LAROD_CHIP_LIBYUV',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a0444d4c3c924311308e7bd61479dc99d',1,'larod.h']]], + ['larod_5fchip_5fopencl',['LAROD_CHIP_OPENCL',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a4884591de82d642d0b72c08d07674200',1,'larod.h']]], + ['larod_5fchip_5ftflite_5fartpec8dlpu',['LAROD_CHIP_TFLITE_ARTPEC8DLPU',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24accd9f3c3e794255f671d2946ac4a8597',1,'larod.h']]], + ['larod_5fchip_5ftflite_5fcpu',['LAROD_CHIP_TFLITE_CPU',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a6228dc43b27601fd1a01e4604ebf5a20',1,'larod.h']]], + ['larod_5fchip_5ftflite_5fglgpu',['LAROD_CHIP_TFLITE_GLGPU',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a7857f84cfa867d3cefe287cbcfd56c1c',1,'larod.h']]], + ['larod_5fchip_5ftpu',['LAROD_CHIP_TPU',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a21fc5f57f4d14ff5beb5a6464964648a',1,'larod.h']]], + ['larod_5ferror_5falloc',['LAROD_ERROR_ALLOC',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574acd37a2c386d65f6a5db9f067f8096035',1,'larod.h']]], + ['larod_5ferror_5fconnection',['LAROD_ERROR_CONNECTION',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574afb4808649b614afbc5f52ff060f2fb4f',1,'larod.h']]], + ['larod_5ferror_5fcreate_5fsession',['LAROD_ERROR_CREATE_SESSION',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574ab72d085ab24f86b07e83a7575cc37426',1,'larod.h']]], + ['larod_5ferror_5fdelete_5fmodel',['LAROD_ERROR_DELETE_MODEL',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a9c08a62cbd6d34b762e18e625650da76',1,'larod.h']]], + ['larod_5ferror_5ffd',['LAROD_ERROR_FD',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a6ce58361fe52017425f11de6f73c7ea5',1,'larod.h']]], + ['larod_5ferror_5finference',['LAROD_ERROR_INFERENCE',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a77b53c4e0a2ccd73dfbd24c5e3ba6df7',1,'larod.h']]], + ['larod_5ferror_5finvalid_5faccess',['LAROD_ERROR_INVALID_ACCESS',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a6bc26793a181f327f619d73de758e186',1,'larod.h']]], + ['larod_5ferror_5finvalid_5fchip_5fid',['LAROD_ERROR_INVALID_CHIP_ID',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574aedee479f98a080cb34813f10002cf068',1,'larod.h']]], + ['larod_5ferror_5fjob',['LAROD_ERROR_JOB',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574abb7821ef54f50647d2a516eb85e5e814',1,'larod.h']]], + ['larod_5ferror_5fkill_5fsession',['LAROD_ERROR_KILL_SESSION',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a856ba93e94085ef9d43e89eb5fa8510f',1,'larod.h']]], + ['larod_5ferror_5fload_5fmodel',['LAROD_ERROR_LOAD_MODEL',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a6da76196da6f44160235017b9e39395f',1,'larod.h']]], + ['larod_5ferror_5fmax_5ferrno',['LAROD_ERROR_MAX_ERRNO',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574afedc80f788b0495a5f6d0662094eaa03',1,'larod.h']]], + ['larod_5ferror_5fmodel_5fnot_5ffound',['LAROD_ERROR_MODEL_NOT_FOUND',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a5fa3b850b53182b182a07d61f08cea59',1,'larod.h']]], + ['larod_5ferror_5fnone',['LAROD_ERROR_NONE',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a45ad6b0828d9c19ad1d275c5fb947ddf',1,'larod.h']]], + ['larod_5ferror_5fpermission',['LAROD_ERROR_PERMISSION',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574ac90e0e0cc4e9cea71d28418a7085d8d9',1,'larod.h']]], + ['larod_5ferror_5ftensor_5fmismatch',['LAROD_ERROR_TENSOR_MISMATCH',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574afce5ab6ba09b6e9d4b1cb786e36718d3',1,'larod.h']]], + ['larod_5ferror_5fversion_5fmismatch',['LAROD_ERROR_VERSION_MISMATCH',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574ac1681da88d719f28860d8c331b378cec',1,'larod.h']]], + ['larod_5ffd_5fprop_5fdmabuf',['LAROD_FD_PROP_DMABUF',['../larod_8h.html#aed39dcc2a34acafda2bd771da3ebfc31',1,'larod.h']]], + ['larod_5ffd_5fprop_5fmap',['LAROD_FD_PROP_MAP',['../larod_8h.html#a028ccbcce6323e5a812e4486235aee9c',1,'larod.h']]], + ['larod_5ffd_5fprop_5freadwrite',['LAROD_FD_PROP_READWRITE',['../larod_8h.html#ac45104db67f68e3fa18e85cee41e8e5a',1,'larod.h']]], + ['larod_5ffd_5ftype_5fdisk',['LAROD_FD_TYPE_DISK',['../larod_8h.html#ac5353958257e56b12fa3426817044b20',1,'larod.h']]], + ['larod_5ffd_5ftype_5fdma',['LAROD_FD_TYPE_DMA',['../larod_8h.html#ad871825f7aa716b34465f0e5be81ca0d',1,'larod.h']]], + ['larod_5finvalid_5ffd',['LAROD_INVALID_FD',['../larod_8h.html#a71bb78ee5a95a9b31657757c6c37420f',1,'larod.h']]], + ['larod_5finvalid_5fmodel_5fid',['LAROD_INVALID_MODEL_ID',['../larod_8h.html#a8d17861b49b4971d4744e90c9e83547f',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fbool',['LAROD_TENSOR_DATA_TYPE_BOOL',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdac04c01136e81890d6bff7a65c3bcf222',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5ffloat16',['LAROD_TENSOR_DATA_TYPE_FLOAT16',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdaa3deb916b3f72a1cfdc968a91a834175',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5ffloat32',['LAROD_TENSOR_DATA_TYPE_FLOAT32',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda9eb4181b43886c8685260e4a545a8d10',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5ffloat64',['LAROD_TENSOR_DATA_TYPE_FLOAT64',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda65f7ca9877fa08d44cd99419d5381f6e',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fint16',['LAROD_TENSOR_DATA_TYPE_INT16',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda357776e541ddb1e4edd2117a3a10e4ef',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fint32',['LAROD_TENSOR_DATA_TYPE_INT32',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdad20d86324c476ef164647a55271653c4',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fint64',['LAROD_TENSOR_DATA_TYPE_INT64',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda4165e16d8aaabb61ec2aaeb5dcacc389',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fint8',['LAROD_TENSOR_DATA_TYPE_INT8',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda0fdb63e9dbdf6be7625100c4091dca8b',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5finvalid',['LAROD_TENSOR_DATA_TYPE_INVALID',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda888deeadc9fa6d8f94062b54dfd80d0b',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fmax',['LAROD_TENSOR_DATA_TYPE_MAX',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdaf9eb97559a45a299929a0b75f171cce6',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fuint16',['LAROD_TENSOR_DATA_TYPE_UINT16',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda40bbf3f6f8bfff821f46d245f053309b',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fuint32',['LAROD_TENSOR_DATA_TYPE_UINT32',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda6641aae65da40ed775ca284e4682bc92',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fuint64',['LAROD_TENSOR_DATA_TYPE_UINT64',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdaa243b871a1b681e99b5ff32814fedd45',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fuint8',['LAROD_TENSOR_DATA_TYPE_UINT8',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda88c9cb9193a4314f5a4fe7362f3f04fd',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5funspecified',['LAROD_TENSOR_DATA_TYPE_UNSPECIFIED',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda67675840a3ea3e1cff143aba7976af09',1,'larod.h']]], + ['larod_5ftensor_5flayout_5f420sp',['LAROD_TENSOR_LAYOUT_420SP',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aabf95c9cfd7fb64fa6cfa20d782a57769',1,'larod.h']]], + ['larod_5ftensor_5flayout_5finvalid',['LAROD_TENSOR_LAYOUT_INVALID',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aaac4284da3f3139707a3a284fe4c3e32e',1,'larod.h']]], + ['larod_5ftensor_5flayout_5fmax',['LAROD_TENSOR_LAYOUT_MAX',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aaf56dd57df9896176bd542a754ea478f5',1,'larod.h']]], + ['larod_5ftensor_5flayout_5fnchw',['LAROD_TENSOR_LAYOUT_NCHW',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aa0f199e88eca28b64be9b9b26d7c094a1',1,'larod.h']]], + ['larod_5ftensor_5flayout_5fnhwc',['LAROD_TENSOR_LAYOUT_NHWC',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aa57a96eb9c4d22b99064dca568b46c838',1,'larod.h']]], + ['larod_5ftensor_5flayout_5funspecified',['LAROD_TENSOR_LAYOUT_UNSPECIFIED',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aa4ecd84885b68c5082fe56b00e75594bd',1,'larod.h']]], + ['larod_5ftensor_5fmax_5flen',['LAROD_TENSOR_MAX_LEN',['../larod_8h.html#af7355b2af85c879d070a17c78b5638f8',1,'larod.h']]], + ['larodaccess',['larodAccess',['../larod_8h.html#a41ad6dc8e9f9ffebc03faf115167aba5',1,'larod.h']]], + ['larodallocmodelinputs',['larodAllocModelInputs',['../larod_8h.html#ad8be991c1295938b95df0c2dbd6d1ad7',1,'larod.h']]], + ['larodallocmodeloutputs',['larodAllocModelOutputs',['../larod_8h.html#a39c2cd5fb8f2395f976cc49220e96888',1,'larod.h']]], + ['larodchip',['larodChip',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24',1,'larod.h']]], + ['larodclearerror',['larodClearError',['../larod_8h.html#ab3588e7ceb7847538cd086cba7777e53',1,'larod.h']]], + ['larodconnect',['larodConnect',['../larod_8h.html#ab7337d6d6663c0e45326022503927851',1,'larod.h']]], + ['larodconnection',['larodConnection',['../larod_8h.html#adf976f1fb816101078a7ac0b49a78294',1,'larod.h']]], + ['larodcreateinferencerequest',['larodCreateInferenceRequest',['../larod_8h.html#aac485da8e57086172a219d9a3bd3ae4a',1,'larod.h']]], + ['larodcreatejobrequest',['larodCreateJobRequest',['../larod_8h.html#af25e0293b11b12fb8e296fb20c828159',1,'larod.h']]], + ['larodcreatemap',['larodCreateMap',['../larod_8h.html#ac7cb26c7b2ef5c99507edd44e7727b0e',1,'larod.h']]], + ['larodcreatemodelinputs',['larodCreateModelInputs',['../larod_8h.html#adefd8c496e10eddced5be85d93aceb13',1,'larod.h']]], + ['larodcreatemodeloutputs',['larodCreateModelOutputs',['../larod_8h.html#aab50fc1bcd4fcbc626fdb00d368e49cb',1,'larod.h']]], + ['larodcreatetensors',['larodCreateTensors',['../larod_8h.html#aededa9e269d87d0f1b7636a007760cb2',1,'larod.h']]], + ['laroddeletemodel',['larodDeleteModel',['../larod_8h.html#ae91c59650ac4d2352930137749fc5377',1,'larod.h']]], + ['laroddestroyinferencerequest',['larodDestroyInferenceRequest',['../larod_8h.html#aca458fe1a3c203228c7541483cc3fc26',1,'larod.h']]], + ['laroddestroyjobrequest',['larodDestroyJobRequest',['../larod_8h.html#a7835f9976056850f52b69638cd722f6d',1,'larod.h']]], + ['laroddestroymap',['larodDestroyMap',['../larod_8h.html#a529a7fed3a17ee65e2c6247daf97c34d',1,'larod.h']]], + ['laroddestroymodel',['larodDestroyModel',['../larod_8h.html#ad36cbc8092e341344179a29b972e8571',1,'larod.h']]], + ['laroddestroymodels',['larodDestroyModels',['../larod_8h.html#ae45aa9a0500e90cc88efcfa1115ecb88',1,'larod.h']]], + ['laroddestroytensors',['larodDestroyTensors',['../larod_8h.html#afac99dfef68ffe3d513008aaac354ae0',1,'larodDestroyTensors(larodConnection *conn, larodTensor ***tensors, size_t numTensors, larodError **error): larod.h'],['../larod_8h.html#a327e31a925b5178ae244083843a88639',1,'larodDestroyTensors(larodTensor ***tensors, size_t numTensors): larod.h']]], + ['laroddevice',['larodDevice',['../larod_8h.html#aef607537eb94843735472c4afba5fd87',1,'larod.h']]], + ['laroddisconnect',['larodDisconnect',['../larod_8h.html#ab8f97b4b4d15798384ca25f32ca77bba',1,'larod.h']]], + ['laroderror',['larodError',['../structlarodError.html',1,'']]], + ['laroderrorcode',['larodErrorCode',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574',1,'larod.h']]], + ['larodgetchipid',['larodGetChipId',['../larod_8h.html#a73aac39f182e0d2100479a933415c4fa',1,'larod.h']]], + ['larodgetchiptype',['larodGetChipType',['../larod_8h.html#a5ef0861f09126b208976c79f1dd62165',1,'larod.h']]], + ['larodgetdevice',['larodGetDevice',['../larod_8h.html#a29a9707a190c2d0c44f7e50f942b2621',1,'larod.h']]], + ['larodgetdeviceinstance',['larodGetDeviceInstance',['../larod_8h.html#a01cff6ed219ba19726567d881e624d7d',1,'larod.h']]], + ['larodgetdevicename',['larodGetDeviceName',['../larod_8h.html#ab0279d8c0983a66e6c4a6476f2be48cd',1,'larod.h']]], + ['larodgetmodel',['larodGetModel',['../larod_8h.html#ae5aded8f1c4c5c6e625f1469db8a233b',1,'larod.h']]], + ['larodgetmodelaccess',['larodGetModelAccess',['../larod_8h.html#a826e1f4937259ec45f09ee198c78a9fa',1,'larod.h']]], + ['larodgetmodelchip',['larodGetModelChip',['../larod_8h.html#aa3ab5cc53e4e83cbebb60d394028ecbc',1,'larod.h']]], + ['larodgetmodeldevice',['larodGetModelDevice',['../larod_8h.html#a191112e4b24804d94cf7bdd227576f85',1,'larod.h']]], + ['larodgetmodelid',['larodGetModelId',['../larod_8h.html#ad390cbc65b55bcf00435fb472a68069a',1,'larod.h']]], + ['larodgetmodelinputbytesizes',['larodGetModelInputByteSizes',['../larod_8h.html#a5be7ce1e448b9a7cf2ba839d17967e76',1,'larod.h']]], + ['larodgetmodelname',['larodGetModelName',['../larod_8h.html#a2f8c47320cdb29a2e6c47a7fced6c587',1,'larod.h']]], + ['larodgetmodelnuminputs',['larodGetModelNumInputs',['../larod_8h.html#a9c7c8380f8dfef38a384d8cb9df7ba3f',1,'larod.h']]], + ['larodgetmodelnumoutputs',['larodGetModelNumOutputs',['../larod_8h.html#a59af42e0baff02edee7adadcd7546420',1,'larod.h']]], + ['larodgetmodeloutputbytesizes',['larodGetModelOutputByteSizes',['../larod_8h.html#ac78c0fc5a004340103ab2703254053c1',1,'larod.h']]], + ['larodgetmodels',['larodGetModels',['../larod_8h.html#a44b84c555ddfe82c1a7e29e26541d46a',1,'larod.h']]], + ['larodgetmodelsize',['larodGetModelSize',['../larod_8h.html#af3d7c1a60ee04b5a363fdf5dff173c42',1,'larod.h']]], + ['larodgetnumsessions',['larodGetNumSessions',['../larod_8h.html#a319aa98a18de21a5bad6f80f3ccbe727',1,'larod.h']]], + ['larodgettensorbytesize',['larodGetTensorByteSize',['../larod_8h.html#af6859ad6f4fc86281195693d32022507',1,'larod.h']]], + ['larodgettensordatatype',['larodGetTensorDataType',['../larod_8h.html#a07bd3d2345f650c3b46704284c728a3b',1,'larod.h']]], + ['larodgettensordims',['larodGetTensorDims',['../larod_8h.html#a63b6236a3d1fc23579e26699acad90dc',1,'larod.h']]], + ['larodgettensorfd',['larodGetTensorFd',['../larod_8h.html#a3f6b1aa86a4405bf97dd20fac24dc079',1,'larod.h']]], + ['larodgettensorfdoffset',['larodGetTensorFdOffset',['../larod_8h.html#ac62a72676d62614178600c0df3cb0f36',1,'larod.h']]], + ['larodgettensorfdprops',['larodGetTensorFdProps',['../larod_8h.html#a8c09df637e722e72b8a863f70d41d201',1,'larod.h']]], + ['larodgettensorfdsize',['larodGetTensorFdSize',['../larod_8h.html#a52cb284b3f7722531bc4eafcba7b2076',1,'larod.h']]], + ['larodgettensorlayout',['larodGetTensorLayout',['../larod_8h.html#a318573565a2cb73834057226bff40031',1,'larod.h']]], + ['larodgettensorname',['larodGetTensorName',['../larod_8h.html#ad0a1e830fa384ceefc2f1a0d5eed6aac',1,'larod.h']]], + ['larodgettensorpitches',['larodGetTensorPitches',['../larod_8h.html#aaade104831363ee594d9b1bb49583fe5',1,'larod.h']]], + ['larodinferencerequest',['larodInferenceRequest',['../larod_8h.html#a943e66698058355a7feecaf2e1ba1513',1,'larod.h']]], + ['larodjobrequest',['larodJobRequest',['../larod_8h.html#a8f6f0898b3a3c25a07582687b6095265',1,'larod.h']]], + ['larodlistchips',['larodListChips',['../larod_8h.html#a14ad5ba9c2b5447e9424fa25077d1d70',1,'larod.h']]], + ['larodlistdevices',['larodListDevices',['../larod_8h.html#a23e4b862c843907b8c25164df07b22ed',1,'larod.h']]], + ['larodloadmodel',['larodLoadModel',['../larod_8h.html#a41b5e5179aa68b382e024945254a5770',1,'larodLoadModel(larodConnection *conn, const int fd, const larodDevice *dev, const larodAccess access, const char *name, const larodMap *params, larodError **error): larod.h'],['../larod_8h.html#abb99a9c94dc0ad03ddf396177ba82778',1,'larodLoadModel(larodConnection *conn, const int fd, const larodAccess access, const char *name, larodError **error): larod.h'],['../larod_8h.html#a9617def81b934a2219d6a8f2a6ccdf7f',1,'larodLoadModel(larodConnection *conn, const int fd, const larodChip chip, const larodAccess access, const char *name, const larodMap *params, larodError **error): larod.h']]], + ['larodloadmodelasync',['larodLoadModelAsync',['../larod_8h.html#ab4073f88052a8b3c4804683903e84001',1,'larodLoadModelAsync(larodConnection *conn, const int inFd, const larodDevice *dev, const larodAccess access, const char *name, const larodMap *params, larodLoadModelCallback callback, void *userData, larodError **error): larod.h'],['../larod_8h.html#a588c2e3a3df5a8ef81b31b0675cf7765',1,'larodLoadModelAsync(larodConnection *conn, const int fd, const larodAccess access, const char *name, larodLoadModelCallback callback, void *userData, larodError **error): larod.h'],['../larod_8h.html#a3331d06f78b120923c96d06affd46619',1,'larodLoadModelAsync(larodConnection *conn, const int fd, const larodChip chip, const larodAccess access, const char *name, const larodMap *params, larodLoadModelCallback callback, void *userData, larodError **error): larod.h']]], + ['larodloadmodelcallback',['larodLoadModelCallback',['../larod_8h.html#aa4057108f02e9886b7992bd7726d10c4',1,'larod.h']]], + ['larodmap',['larodMap',['../larod_8h.html#a480ba7618e79ad250c166c52d216ab79',1,'larod.h']]], + ['larodmapgetint',['larodMapGetInt',['../larod_8h.html#a8f5db6373b205321496b7094e0e7c22d',1,'larod.h']]], + ['larodmapgetintarr2',['larodMapGetIntArr2',['../larod_8h.html#a32d8ecd2a19e2434048bd2631ff5f18e',1,'larod.h']]], + ['larodmapgetintarr4',['larodMapGetIntArr4',['../larod_8h.html#a34bbadafcb93244cd24d70ace24d35be',1,'larod.h']]], + ['larodmapgetstr',['larodMapGetStr',['../larod_8h.html#a734856f260aec3fa25ff17740e6fda04',1,'larod.h']]], + ['larodmapsetint',['larodMapSetInt',['../larod_8h.html#a0fa6996b2c4518e7b67527ab646a9a2e',1,'larod.h']]], + ['larodmapsetintarr2',['larodMapSetIntArr2',['../larod_8h.html#a3e5686f34427aaa1a2476cc0991adf12',1,'larod.h']]], + ['larodmapsetintarr4',['larodMapSetIntArr4',['../larod_8h.html#ab008dee48f6d1625ed351899492c53f1',1,'larod.h']]], + ['larodmapsetstr',['larodMapSetStr',['../larod_8h.html#a28e4db02130ffb4c0a19fac84b698ce0',1,'larod.h']]], + ['larodmodel',['larodModel',['../larod_8h.html#a9e56e66ffecad46856d96bc289b6ce5a',1,'larod.h']]], + ['larodruninference',['larodRunInference',['../larod_8h.html#ada0b064b3752d6f083b6849d6395b379',1,'larod.h']]], + ['larodruninferenceasync',['larodRunInferenceAsync',['../larod_8h.html#a9bab57f69ca74bb80e3030a9239a43ad',1,'larod.h']]], + ['larodruninferencecallback',['larodRunInferenceCallback',['../larod_8h.html#aba16642947cbd2eb7c0fb1c01196d7b6',1,'larod.h']]], + ['larodrunjob',['larodRunJob',['../larod_8h.html#a7c492dcfb18e0a32407dc6078bd50dbe',1,'larod.h']]], + ['larodrunjobasync',['larodRunJobAsync',['../larod_8h.html#a3fa258919ed449acf79cff143bc638f3',1,'larod.h']]], + ['larodrunjobcallback',['larodRunJobCallback',['../larod_8h.html#a974a5de759f35ed4b168919acfa7e77b',1,'larod.h']]], + ['larodsetchip',['larodSetChip',['../larod_8h.html#a72e9f822f0c83d0f8b98eb296e0dda81',1,'larod.h']]], + ['larodsetchipid',['larodSetChipId',['../larod_8h.html#ae609b1a5bd906bdffc4b8c42cde33bd7',1,'larod.h']]], + ['larodsetinferencerequestinputs',['larodSetInferenceRequestInputs',['../larod_8h.html#a70cd4e1a01e50233e68a766893f57575',1,'larod.h']]], + ['larodsetinferencerequestmodel',['larodSetInferenceRequestModel',['../larod_8h.html#a5bda88d3ca2e99c90e6ecdd5934e5e79',1,'larod.h']]], + ['larodsetinferencerequestoutputs',['larodSetInferenceRequestOutputs',['../larod_8h.html#a96b57bfce28298e22e6b392ebcc933bb',1,'larod.h']]], + ['larodsetinferencerequestpriority',['larodSetInferenceRequestPriority',['../larod_8h.html#a4b4dc335ac118d19ab0a43cc524bce7e',1,'larod.h']]], + ['larodsetjobrequestinputs',['larodSetJobRequestInputs',['../larod_8h.html#a75661cc81e667c0d9b43e04a08352b70',1,'larod.h']]], + ['larodsetjobrequestmodel',['larodSetJobRequestModel',['../larod_8h.html#a7492143af176034b0861021449d2fa44',1,'larod.h']]], + ['larodsetjobrequestoutputs',['larodSetJobRequestOutputs',['../larod_8h.html#ac1cd0c46a5abb6b76a570f795dbaa4d0',1,'larod.h']]], + ['larodsetjobrequestparams',['larodSetJobRequestParams',['../larod_8h.html#aa6ff7fdb5a6d524d366c16df6856849f',1,'larod.h']]], + ['larodsetjobrequestpriority',['larodSetJobRequestPriority',['../larod_8h.html#ae7740a49cf1ac4b86d23a6721cbcfde8',1,'larod.h']]], + ['larodsettensordatatype',['larodSetTensorDataType',['../larod_8h.html#af5d7a93283af4594c952468808bcfcff',1,'larod.h']]], + ['larodsettensordims',['larodSetTensorDims',['../larod_8h.html#aab2850c60b52538969f4c981f8382590',1,'larod.h']]], + ['larodsettensorfd',['larodSetTensorFd',['../larod_8h.html#a4423cb2a9da02f3a21766a2713edbaa5',1,'larod.h']]], + ['larodsettensorfdoffset',['larodSetTensorFdOffset',['../larod_8h.html#a11e0e2c325e2c96c4d75a9198dd84dbc',1,'larod.h']]], + ['larodsettensorfdprops',['larodSetTensorFdProps',['../larod_8h.html#a33a0af9702614ee94936e6cc757c3fad',1,'larod.h']]], + ['larodsettensorfdsize',['larodSetTensorFdSize',['../larod_8h.html#af1cd8a7aea3357fd5f7d6238c1257679',1,'larod.h']]], + ['larodsettensorlayout',['larodSetTensorLayout',['../larod_8h.html#a9ebcbdec0c38d99480db26286c15ce09',1,'larod.h']]], + ['larodsettensorpitches',['larodSetTensorPitches',['../larod_8h.html#ac6791d32cba2c3e87329571b5ffdac49',1,'larod.h']]], + ['larodtensor',['larodTensor',['../larod_8h.html#a07d4c60d47a09a1c1508b8f9b8db3783',1,'larod.h']]], + ['larodtensordatatype',['larodTensorDataType',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbd',1,'larod.h']]], + ['larodtensordims',['larodTensorDims',['../structlarodTensorDims.html',1,'']]], + ['larodtensorlayout',['larodTensorLayout',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0a',1,'larod.h']]], + ['larodtensorpitches',['larodTensorPitches',['../structlarodTensorPitches.html',1,'']]], + ['larodtracktensor',['larodTrackTensor',['../larod_8h.html#a4c84b8df7f3efc94276ba8cdaf940f85',1,'larod.h']]], + ['len',['len',['../structlarodTensorDims.html#a41254c9a8c1605fe0133d07b87808950',1,'larodTensorDims::len()'],['../structlarodTensorPitches.html#a0f8cb6d5a02e16dde335a8b1f149670f',1,'larodTensorPitches::len()']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_5.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_5.html new file mode 100644 index 0000000..89a879e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_5.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_5.js new file mode 100644 index 0000000..7c5248e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['model_20converter_20tool_20_28deprecated_29',['Model converter tool (DEPRECATED)',['../md__opt_builder-doc_larod_tools_model-converter_README.html',1,'']]], + ['msg',['msg',['../structlarodError.html#a07fcd04406359c804afc07ae50bd45ce',1,'larodError']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_6.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_6.html new file mode 100644 index 0000000..6afac06 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_6.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_6.js new file mode 100644 index 0000000..d9c45bb --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['neural_20network_20inference',['Neural Network Inference',['../md__opt_builder-doc_larod_doc_nn-inference.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_7.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_7.html new file mode 100644 index 0000000..de19107 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_7.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_7.js new file mode 100644 index 0000000..277cca0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['overview',['Overview',['../index.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_8.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_8.html new file mode 100644 index 0000000..11e27cd --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_8.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_8.js new file mode 100644 index 0000000..d70a930 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['preprocessing',['Preprocessing',['../md__opt_builder-doc_larod_doc_preprocessing.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_9.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_9.html new file mode 100644 index 0000000..f8abbbe --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_9.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_9.js new file mode 100644 index 0000000..ef8241a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['the_20larod_2dclient_20tool',['The larod-client tool',['../md__opt_builder-doc_larod_doc_larod-client.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_a.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_a.html new file mode 100644 index 0000000..9601fce --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_a.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_a.js new file mode 100644 index 0000000..de5333a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['working_20with_20dma_2dbuf',['Working with dma-buf',['../md__opt_builder-doc_larod_doc_dma-buf.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/classes_0.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/classes_0.html new file mode 100644 index 0000000..1c3e406 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/classes_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/classes_0.js new file mode 100644 index 0000000..7764c25 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/classes_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['laroderror',['larodError',['../structlarodError.html',1,'']]], + ['larodtensordims',['larodTensorDims',['../structlarodTensorDims.html',1,'']]], + ['larodtensorpitches',['larodTensorPitches',['../structlarodTensorPitches.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/close.png b/docs/acap-sdk-version-3/api/src/api/larod/html/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/defines_0.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/defines_0.html new file mode 100644 index 0000000..5b25204 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/defines_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/defines_0.js new file mode 100644 index 0000000..d9eb745 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/defines_0.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['larod_5ffd_5fprop_5fdmabuf',['LAROD_FD_PROP_DMABUF',['../larod_8h.html#aed39dcc2a34acafda2bd771da3ebfc31',1,'larod.h']]], + ['larod_5ffd_5fprop_5fmap',['LAROD_FD_PROP_MAP',['../larod_8h.html#a028ccbcce6323e5a812e4486235aee9c',1,'larod.h']]], + ['larod_5ffd_5fprop_5freadwrite',['LAROD_FD_PROP_READWRITE',['../larod_8h.html#ac45104db67f68e3fa18e85cee41e8e5a',1,'larod.h']]], + ['larod_5ffd_5ftype_5fdisk',['LAROD_FD_TYPE_DISK',['../larod_8h.html#ac5353958257e56b12fa3426817044b20',1,'larod.h']]], + ['larod_5ffd_5ftype_5fdma',['LAROD_FD_TYPE_DMA',['../larod_8h.html#ad871825f7aa716b34465f0e5be81ca0d',1,'larod.h']]], + ['larod_5finvalid_5ffd',['LAROD_INVALID_FD',['../larod_8h.html#a71bb78ee5a95a9b31657757c6c37420f',1,'larod.h']]], + ['larod_5finvalid_5fmodel_5fid',['LAROD_INVALID_MODEL_ID',['../larod_8h.html#a8d17861b49b4971d4744e90c9e83547f',1,'larod.h']]], + ['larod_5ftensor_5fmax_5flen',['LAROD_TENSOR_MAX_LEN',['../larod_8h.html#af7355b2af85c879d070a17c78b5638f8',1,'larod.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/enums_0.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/enums_0.html new file mode 100644 index 0000000..ee343ac --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/enums_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/enums_0.js new file mode 100644 index 0000000..146ad73 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/enums_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['larodaccess',['larodAccess',['../larod_8h.html#a41ad6dc8e9f9ffebc03faf115167aba5',1,'larod.h']]], + ['larodchip',['larodChip',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24',1,'larod.h']]], + ['laroderrorcode',['larodErrorCode',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574',1,'larod.h']]], + ['larodtensordatatype',['larodTensorDataType',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbd',1,'larod.h']]], + ['larodtensorlayout',['larodTensorLayout',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0a',1,'larod.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/enumvalues_0.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/enumvalues_0.html new file mode 100644 index 0000000..9387b6a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/enumvalues_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/enumvalues_0.js new file mode 100644 index 0000000..6199da4 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/enumvalues_0.js @@ -0,0 +1,55 @@ +var searchData= +[ + ['larod_5faccess_5finvalid',['LAROD_ACCESS_INVALID',['../larod_8h.html#a41ad6dc8e9f9ffebc03faf115167aba5ad1bbc121e391d6a993b7d9a097cf136e',1,'larod.h']]], + ['larod_5faccess_5fprivate',['LAROD_ACCESS_PRIVATE',['../larod_8h.html#a41ad6dc8e9f9ffebc03faf115167aba5afc936d97349d892279eec5c41c154d41',1,'larod.h']]], + ['larod_5faccess_5fpublic',['LAROD_ACCESS_PUBLIC',['../larod_8h.html#a41ad6dc8e9f9ffebc03faf115167aba5a715ba74abd18b8d73cd1dad0385ea031',1,'larod.h']]], + ['larod_5fchip_5face',['LAROD_CHIP_ACE',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a3e52cd01d81d74f582a56cdec05e7eb0',1,'larod.h']]], + ['larod_5fchip_5fcvflow_5fnn',['LAROD_CHIP_CVFLOW_NN',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a235b0d39b8e9744ea431d8be6ac25bba',1,'larod.h']]], + ['larod_5fchip_5fcvflow_5fproc',['LAROD_CHIP_CVFLOW_PROC',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a05ffd25bca2e249851e9c1f5043b89a1',1,'larod.h']]], + ['larod_5fchip_5fdebug',['LAROD_CHIP_DEBUG',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a6c04e9bfa2d61ab794f9333c0e7f161c',1,'larod.h']]], + ['larod_5fchip_5finvalid',['LAROD_CHIP_INVALID',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a77021caf91709d57dc58a5290d7aa394',1,'larod.h']]], + ['larod_5fchip_5flibyuv',['LAROD_CHIP_LIBYUV',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a0444d4c3c924311308e7bd61479dc99d',1,'larod.h']]], + ['larod_5fchip_5fopencl',['LAROD_CHIP_OPENCL',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a4884591de82d642d0b72c08d07674200',1,'larod.h']]], + ['larod_5fchip_5ftflite_5fartpec8dlpu',['LAROD_CHIP_TFLITE_ARTPEC8DLPU',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24accd9f3c3e794255f671d2946ac4a8597',1,'larod.h']]], + ['larod_5fchip_5ftflite_5fcpu',['LAROD_CHIP_TFLITE_CPU',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a6228dc43b27601fd1a01e4604ebf5a20',1,'larod.h']]], + ['larod_5fchip_5ftflite_5fglgpu',['LAROD_CHIP_TFLITE_GLGPU',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a7857f84cfa867d3cefe287cbcfd56c1c',1,'larod.h']]], + ['larod_5fchip_5ftpu',['LAROD_CHIP_TPU',['../larod_8h.html#a5d61d65903803a3c587e5830de34df24a21fc5f57f4d14ff5beb5a6464964648a',1,'larod.h']]], + ['larod_5ferror_5falloc',['LAROD_ERROR_ALLOC',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574acd37a2c386d65f6a5db9f067f8096035',1,'larod.h']]], + ['larod_5ferror_5fconnection',['LAROD_ERROR_CONNECTION',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574afb4808649b614afbc5f52ff060f2fb4f',1,'larod.h']]], + ['larod_5ferror_5fcreate_5fsession',['LAROD_ERROR_CREATE_SESSION',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574ab72d085ab24f86b07e83a7575cc37426',1,'larod.h']]], + ['larod_5ferror_5fdelete_5fmodel',['LAROD_ERROR_DELETE_MODEL',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a9c08a62cbd6d34b762e18e625650da76',1,'larod.h']]], + ['larod_5ferror_5ffd',['LAROD_ERROR_FD',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a6ce58361fe52017425f11de6f73c7ea5',1,'larod.h']]], + ['larod_5ferror_5finference',['LAROD_ERROR_INFERENCE',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a77b53c4e0a2ccd73dfbd24c5e3ba6df7',1,'larod.h']]], + ['larod_5ferror_5finvalid_5faccess',['LAROD_ERROR_INVALID_ACCESS',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a6bc26793a181f327f619d73de758e186',1,'larod.h']]], + ['larod_5ferror_5finvalid_5fchip_5fid',['LAROD_ERROR_INVALID_CHIP_ID',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574aedee479f98a080cb34813f10002cf068',1,'larod.h']]], + ['larod_5ferror_5fjob',['LAROD_ERROR_JOB',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574abb7821ef54f50647d2a516eb85e5e814',1,'larod.h']]], + ['larod_5ferror_5fkill_5fsession',['LAROD_ERROR_KILL_SESSION',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a856ba93e94085ef9d43e89eb5fa8510f',1,'larod.h']]], + ['larod_5ferror_5fload_5fmodel',['LAROD_ERROR_LOAD_MODEL',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a6da76196da6f44160235017b9e39395f',1,'larod.h']]], + ['larod_5ferror_5fmax_5ferrno',['LAROD_ERROR_MAX_ERRNO',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574afedc80f788b0495a5f6d0662094eaa03',1,'larod.h']]], + ['larod_5ferror_5fmodel_5fnot_5ffound',['LAROD_ERROR_MODEL_NOT_FOUND',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a5fa3b850b53182b182a07d61f08cea59',1,'larod.h']]], + ['larod_5ferror_5fnone',['LAROD_ERROR_NONE',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574a45ad6b0828d9c19ad1d275c5fb947ddf',1,'larod.h']]], + ['larod_5ferror_5fpermission',['LAROD_ERROR_PERMISSION',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574ac90e0e0cc4e9cea71d28418a7085d8d9',1,'larod.h']]], + ['larod_5ferror_5ftensor_5fmismatch',['LAROD_ERROR_TENSOR_MISMATCH',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574afce5ab6ba09b6e9d4b1cb786e36718d3',1,'larod.h']]], + ['larod_5ferror_5fversion_5fmismatch',['LAROD_ERROR_VERSION_MISMATCH',['../larod_8h.html#a7ed3c8c2c4b753ea64c806e1bef77574ac1681da88d719f28860d8c331b378cec',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fbool',['LAROD_TENSOR_DATA_TYPE_BOOL',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdac04c01136e81890d6bff7a65c3bcf222',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5ffloat16',['LAROD_TENSOR_DATA_TYPE_FLOAT16',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdaa3deb916b3f72a1cfdc968a91a834175',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5ffloat32',['LAROD_TENSOR_DATA_TYPE_FLOAT32',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda9eb4181b43886c8685260e4a545a8d10',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5ffloat64',['LAROD_TENSOR_DATA_TYPE_FLOAT64',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda65f7ca9877fa08d44cd99419d5381f6e',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fint16',['LAROD_TENSOR_DATA_TYPE_INT16',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda357776e541ddb1e4edd2117a3a10e4ef',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fint32',['LAROD_TENSOR_DATA_TYPE_INT32',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdad20d86324c476ef164647a55271653c4',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fint64',['LAROD_TENSOR_DATA_TYPE_INT64',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda4165e16d8aaabb61ec2aaeb5dcacc389',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fint8',['LAROD_TENSOR_DATA_TYPE_INT8',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda0fdb63e9dbdf6be7625100c4091dca8b',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5finvalid',['LAROD_TENSOR_DATA_TYPE_INVALID',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda888deeadc9fa6d8f94062b54dfd80d0b',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fmax',['LAROD_TENSOR_DATA_TYPE_MAX',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdaf9eb97559a45a299929a0b75f171cce6',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fuint16',['LAROD_TENSOR_DATA_TYPE_UINT16',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda40bbf3f6f8bfff821f46d245f053309b',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fuint32',['LAROD_TENSOR_DATA_TYPE_UINT32',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda6641aae65da40ed775ca284e4682bc92',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fuint64',['LAROD_TENSOR_DATA_TYPE_UINT64',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbdaa243b871a1b681e99b5ff32814fedd45',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5fuint8',['LAROD_TENSOR_DATA_TYPE_UINT8',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda88c9cb9193a4314f5a4fe7362f3f04fd',1,'larod.h']]], + ['larod_5ftensor_5fdata_5ftype_5funspecified',['LAROD_TENSOR_DATA_TYPE_UNSPECIFIED',['../larod_8h.html#a091105f674ae33930d6c4677fd31edbda67675840a3ea3e1cff143aba7976af09',1,'larod.h']]], + ['larod_5ftensor_5flayout_5f420sp',['LAROD_TENSOR_LAYOUT_420SP',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aabf95c9cfd7fb64fa6cfa20d782a57769',1,'larod.h']]], + ['larod_5ftensor_5flayout_5finvalid',['LAROD_TENSOR_LAYOUT_INVALID',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aaac4284da3f3139707a3a284fe4c3e32e',1,'larod.h']]], + ['larod_5ftensor_5flayout_5fmax',['LAROD_TENSOR_LAYOUT_MAX',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aaf56dd57df9896176bd542a754ea478f5',1,'larod.h']]], + ['larod_5ftensor_5flayout_5fnchw',['LAROD_TENSOR_LAYOUT_NCHW',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aa0f199e88eca28b64be9b9b26d7c094a1',1,'larod.h']]], + ['larod_5ftensor_5flayout_5fnhwc',['LAROD_TENSOR_LAYOUT_NHWC',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aa57a96eb9c4d22b99064dca568b46c838',1,'larod.h']]], + ['larod_5ftensor_5flayout_5funspecified',['LAROD_TENSOR_LAYOUT_UNSPECIFIED',['../larod_8h.html#a4f53204cbdaa87e75c1076a3f034bc0aa4ecd84885b68c5082fe56b00e75594bd',1,'larod.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/files_0.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/files_0.html new file mode 100644 index 0000000..4f272b8 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/files_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/files_0.js new file mode 100644 index 0000000..9aaf0c3 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/files_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['larod_2eh',['larod.h',['../larod_8h.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/functions_0.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/functions_0.html new file mode 100644 index 0000000..4e6d87d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/functions_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/functions_0.js new file mode 100644 index 0000000..ba4827e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/functions_0.js @@ -0,0 +1,85 @@ +var searchData= +[ + ['larodallocmodelinputs',['larodAllocModelInputs',['../larod_8h.html#ad8be991c1295938b95df0c2dbd6d1ad7',1,'larod.h']]], + ['larodallocmodeloutputs',['larodAllocModelOutputs',['../larod_8h.html#a39c2cd5fb8f2395f976cc49220e96888',1,'larod.h']]], + ['larodclearerror',['larodClearError',['../larod_8h.html#ab3588e7ceb7847538cd086cba7777e53',1,'larod.h']]], + ['larodconnect',['larodConnect',['../larod_8h.html#ab7337d6d6663c0e45326022503927851',1,'larod.h']]], + ['larodcreateinferencerequest',['larodCreateInferenceRequest',['../larod_8h.html#aac485da8e57086172a219d9a3bd3ae4a',1,'larod.h']]], + ['larodcreatejobrequest',['larodCreateJobRequest',['../larod_8h.html#af25e0293b11b12fb8e296fb20c828159',1,'larod.h']]], + ['larodcreatemap',['larodCreateMap',['../larod_8h.html#ac7cb26c7b2ef5c99507edd44e7727b0e',1,'larod.h']]], + ['larodcreatemodelinputs',['larodCreateModelInputs',['../larod_8h.html#adefd8c496e10eddced5be85d93aceb13',1,'larod.h']]], + ['larodcreatemodeloutputs',['larodCreateModelOutputs',['../larod_8h.html#aab50fc1bcd4fcbc626fdb00d368e49cb',1,'larod.h']]], + ['larodcreatetensors',['larodCreateTensors',['../larod_8h.html#aededa9e269d87d0f1b7636a007760cb2',1,'larod.h']]], + ['laroddeletemodel',['larodDeleteModel',['../larod_8h.html#ae91c59650ac4d2352930137749fc5377',1,'larod.h']]], + ['laroddestroyinferencerequest',['larodDestroyInferenceRequest',['../larod_8h.html#aca458fe1a3c203228c7541483cc3fc26',1,'larod.h']]], + ['laroddestroyjobrequest',['larodDestroyJobRequest',['../larod_8h.html#a7835f9976056850f52b69638cd722f6d',1,'larod.h']]], + ['laroddestroymap',['larodDestroyMap',['../larod_8h.html#a529a7fed3a17ee65e2c6247daf97c34d',1,'larod.h']]], + ['laroddestroymodel',['larodDestroyModel',['../larod_8h.html#ad36cbc8092e341344179a29b972e8571',1,'larod.h']]], + ['laroddestroymodels',['larodDestroyModels',['../larod_8h.html#ae45aa9a0500e90cc88efcfa1115ecb88',1,'larod.h']]], + ['laroddestroytensors',['larodDestroyTensors',['../larod_8h.html#afac99dfef68ffe3d513008aaac354ae0',1,'larodDestroyTensors(larodConnection *conn, larodTensor ***tensors, size_t numTensors, larodError **error): larod.h'],['../larod_8h.html#a327e31a925b5178ae244083843a88639',1,'larodDestroyTensors(larodTensor ***tensors, size_t numTensors): larod.h']]], + ['laroddisconnect',['larodDisconnect',['../larod_8h.html#ab8f97b4b4d15798384ca25f32ca77bba',1,'larod.h']]], + ['larodgetchipid',['larodGetChipId',['../larod_8h.html#a73aac39f182e0d2100479a933415c4fa',1,'larod.h']]], + ['larodgetchiptype',['larodGetChipType',['../larod_8h.html#a5ef0861f09126b208976c79f1dd62165',1,'larod.h']]], + ['larodgetdevice',['larodGetDevice',['../larod_8h.html#a29a9707a190c2d0c44f7e50f942b2621',1,'larod.h']]], + ['larodgetdeviceinstance',['larodGetDeviceInstance',['../larod_8h.html#a01cff6ed219ba19726567d881e624d7d',1,'larod.h']]], + ['larodgetdevicename',['larodGetDeviceName',['../larod_8h.html#ab0279d8c0983a66e6c4a6476f2be48cd',1,'larod.h']]], + ['larodgetmodel',['larodGetModel',['../larod_8h.html#ae5aded8f1c4c5c6e625f1469db8a233b',1,'larod.h']]], + ['larodgetmodelaccess',['larodGetModelAccess',['../larod_8h.html#a826e1f4937259ec45f09ee198c78a9fa',1,'larod.h']]], + ['larodgetmodelchip',['larodGetModelChip',['../larod_8h.html#aa3ab5cc53e4e83cbebb60d394028ecbc',1,'larod.h']]], + ['larodgetmodeldevice',['larodGetModelDevice',['../larod_8h.html#a191112e4b24804d94cf7bdd227576f85',1,'larod.h']]], + ['larodgetmodelid',['larodGetModelId',['../larod_8h.html#ad390cbc65b55bcf00435fb472a68069a',1,'larod.h']]], + ['larodgetmodelinputbytesizes',['larodGetModelInputByteSizes',['../larod_8h.html#a5be7ce1e448b9a7cf2ba839d17967e76',1,'larod.h']]], + ['larodgetmodelname',['larodGetModelName',['../larod_8h.html#a2f8c47320cdb29a2e6c47a7fced6c587',1,'larod.h']]], + ['larodgetmodelnuminputs',['larodGetModelNumInputs',['../larod_8h.html#a9c7c8380f8dfef38a384d8cb9df7ba3f',1,'larod.h']]], + ['larodgetmodelnumoutputs',['larodGetModelNumOutputs',['../larod_8h.html#a59af42e0baff02edee7adadcd7546420',1,'larod.h']]], + ['larodgetmodeloutputbytesizes',['larodGetModelOutputByteSizes',['../larod_8h.html#ac78c0fc5a004340103ab2703254053c1',1,'larod.h']]], + ['larodgetmodels',['larodGetModels',['../larod_8h.html#a44b84c555ddfe82c1a7e29e26541d46a',1,'larod.h']]], + ['larodgetmodelsize',['larodGetModelSize',['../larod_8h.html#af3d7c1a60ee04b5a363fdf5dff173c42',1,'larod.h']]], + ['larodgetnumsessions',['larodGetNumSessions',['../larod_8h.html#a319aa98a18de21a5bad6f80f3ccbe727',1,'larod.h']]], + ['larodgettensorbytesize',['larodGetTensorByteSize',['../larod_8h.html#af6859ad6f4fc86281195693d32022507',1,'larod.h']]], + ['larodgettensordatatype',['larodGetTensorDataType',['../larod_8h.html#a07bd3d2345f650c3b46704284c728a3b',1,'larod.h']]], + ['larodgettensordims',['larodGetTensorDims',['../larod_8h.html#a63b6236a3d1fc23579e26699acad90dc',1,'larod.h']]], + ['larodgettensorfd',['larodGetTensorFd',['../larod_8h.html#a3f6b1aa86a4405bf97dd20fac24dc079',1,'larod.h']]], + ['larodgettensorfdoffset',['larodGetTensorFdOffset',['../larod_8h.html#ac62a72676d62614178600c0df3cb0f36',1,'larod.h']]], + ['larodgettensorfdprops',['larodGetTensorFdProps',['../larod_8h.html#a8c09df637e722e72b8a863f70d41d201',1,'larod.h']]], + ['larodgettensorfdsize',['larodGetTensorFdSize',['../larod_8h.html#a52cb284b3f7722531bc4eafcba7b2076',1,'larod.h']]], + ['larodgettensorlayout',['larodGetTensorLayout',['../larod_8h.html#a318573565a2cb73834057226bff40031',1,'larod.h']]], + ['larodgettensorname',['larodGetTensorName',['../larod_8h.html#ad0a1e830fa384ceefc2f1a0d5eed6aac',1,'larod.h']]], + ['larodgettensorpitches',['larodGetTensorPitches',['../larod_8h.html#aaade104831363ee594d9b1bb49583fe5',1,'larod.h']]], + ['larodlistchips',['larodListChips',['../larod_8h.html#a14ad5ba9c2b5447e9424fa25077d1d70',1,'larod.h']]], + ['larodlistdevices',['larodListDevices',['../larod_8h.html#a23e4b862c843907b8c25164df07b22ed',1,'larod.h']]], + ['larodloadmodel',['larodLoadModel',['../larod_8h.html#a41b5e5179aa68b382e024945254a5770',1,'larodLoadModel(larodConnection *conn, const int fd, const larodDevice *dev, const larodAccess access, const char *name, const larodMap *params, larodError **error): larod.h'],['../larod_8h.html#abb99a9c94dc0ad03ddf396177ba82778',1,'larodLoadModel(larodConnection *conn, const int fd, const larodAccess access, const char *name, larodError **error): larod.h'],['../larod_8h.html#a9617def81b934a2219d6a8f2a6ccdf7f',1,'larodLoadModel(larodConnection *conn, const int fd, const larodChip chip, const larodAccess access, const char *name, const larodMap *params, larodError **error): larod.h']]], + ['larodloadmodelasync',['larodLoadModelAsync',['../larod_8h.html#ab4073f88052a8b3c4804683903e84001',1,'larodLoadModelAsync(larodConnection *conn, const int inFd, const larodDevice *dev, const larodAccess access, const char *name, const larodMap *params, larodLoadModelCallback callback, void *userData, larodError **error): larod.h'],['../larod_8h.html#a588c2e3a3df5a8ef81b31b0675cf7765',1,'larodLoadModelAsync(larodConnection *conn, const int fd, const larodAccess access, const char *name, larodLoadModelCallback callback, void *userData, larodError **error): larod.h'],['../larod_8h.html#a3331d06f78b120923c96d06affd46619',1,'larodLoadModelAsync(larodConnection *conn, const int fd, const larodChip chip, const larodAccess access, const char *name, const larodMap *params, larodLoadModelCallback callback, void *userData, larodError **error): larod.h']]], + ['larodmapgetint',['larodMapGetInt',['../larod_8h.html#a8f5db6373b205321496b7094e0e7c22d',1,'larod.h']]], + ['larodmapgetintarr2',['larodMapGetIntArr2',['../larod_8h.html#a32d8ecd2a19e2434048bd2631ff5f18e',1,'larod.h']]], + ['larodmapgetintarr4',['larodMapGetIntArr4',['../larod_8h.html#a34bbadafcb93244cd24d70ace24d35be',1,'larod.h']]], + ['larodmapgetstr',['larodMapGetStr',['../larod_8h.html#a734856f260aec3fa25ff17740e6fda04',1,'larod.h']]], + ['larodmapsetint',['larodMapSetInt',['../larod_8h.html#a0fa6996b2c4518e7b67527ab646a9a2e',1,'larod.h']]], + ['larodmapsetintarr2',['larodMapSetIntArr2',['../larod_8h.html#a3e5686f34427aaa1a2476cc0991adf12',1,'larod.h']]], + ['larodmapsetintarr4',['larodMapSetIntArr4',['../larod_8h.html#ab008dee48f6d1625ed351899492c53f1',1,'larod.h']]], + ['larodmapsetstr',['larodMapSetStr',['../larod_8h.html#a28e4db02130ffb4c0a19fac84b698ce0',1,'larod.h']]], + ['larodruninference',['larodRunInference',['../larod_8h.html#ada0b064b3752d6f083b6849d6395b379',1,'larod.h']]], + ['larodruninferenceasync',['larodRunInferenceAsync',['../larod_8h.html#a9bab57f69ca74bb80e3030a9239a43ad',1,'larod.h']]], + ['larodrunjob',['larodRunJob',['../larod_8h.html#a7c492dcfb18e0a32407dc6078bd50dbe',1,'larod.h']]], + ['larodrunjobasync',['larodRunJobAsync',['../larod_8h.html#a3fa258919ed449acf79cff143bc638f3',1,'larod.h']]], + ['larodsetchip',['larodSetChip',['../larod_8h.html#a72e9f822f0c83d0f8b98eb296e0dda81',1,'larod.h']]], + ['larodsetchipid',['larodSetChipId',['../larod_8h.html#ae609b1a5bd906bdffc4b8c42cde33bd7',1,'larod.h']]], + ['larodsetinferencerequestinputs',['larodSetInferenceRequestInputs',['../larod_8h.html#a70cd4e1a01e50233e68a766893f57575',1,'larod.h']]], + ['larodsetinferencerequestmodel',['larodSetInferenceRequestModel',['../larod_8h.html#a5bda88d3ca2e99c90e6ecdd5934e5e79',1,'larod.h']]], + ['larodsetinferencerequestoutputs',['larodSetInferenceRequestOutputs',['../larod_8h.html#a96b57bfce28298e22e6b392ebcc933bb',1,'larod.h']]], + ['larodsetinferencerequestpriority',['larodSetInferenceRequestPriority',['../larod_8h.html#a4b4dc335ac118d19ab0a43cc524bce7e',1,'larod.h']]], + ['larodsetjobrequestinputs',['larodSetJobRequestInputs',['../larod_8h.html#a75661cc81e667c0d9b43e04a08352b70',1,'larod.h']]], + ['larodsetjobrequestmodel',['larodSetJobRequestModel',['../larod_8h.html#a7492143af176034b0861021449d2fa44',1,'larod.h']]], + ['larodsetjobrequestoutputs',['larodSetJobRequestOutputs',['../larod_8h.html#ac1cd0c46a5abb6b76a570f795dbaa4d0',1,'larod.h']]], + ['larodsetjobrequestparams',['larodSetJobRequestParams',['../larod_8h.html#aa6ff7fdb5a6d524d366c16df6856849f',1,'larod.h']]], + ['larodsetjobrequestpriority',['larodSetJobRequestPriority',['../larod_8h.html#ae7740a49cf1ac4b86d23a6721cbcfde8',1,'larod.h']]], + ['larodsettensordatatype',['larodSetTensorDataType',['../larod_8h.html#af5d7a93283af4594c952468808bcfcff',1,'larod.h']]], + ['larodsettensordims',['larodSetTensorDims',['../larod_8h.html#aab2850c60b52538969f4c981f8382590',1,'larod.h']]], + ['larodsettensorfd',['larodSetTensorFd',['../larod_8h.html#a4423cb2a9da02f3a21766a2713edbaa5',1,'larod.h']]], + ['larodsettensorfdoffset',['larodSetTensorFdOffset',['../larod_8h.html#a11e0e2c325e2c96c4d75a9198dd84dbc',1,'larod.h']]], + ['larodsettensorfdprops',['larodSetTensorFdProps',['../larod_8h.html#a33a0af9702614ee94936e6cc757c3fad',1,'larod.h']]], + ['larodsettensorfdsize',['larodSetTensorFdSize',['../larod_8h.html#af1cd8a7aea3357fd5f7d6238c1257679',1,'larod.h']]], + ['larodsettensorlayout',['larodSetTensorLayout',['../larod_8h.html#a9ebcbdec0c38d99480db26286c15ce09',1,'larod.h']]], + ['larodsettensorpitches',['larodSetTensorPitches',['../larod_8h.html#ac6791d32cba2c3e87329571b5ffdac49',1,'larod.h']]], + ['larodtracktensor',['larodTrackTensor',['../larod_8h.html#a4c84b8df7f3efc94276ba8cdaf940f85',1,'larod.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/mag_sel.png b/docs/acap-sdk-version-3/api/src/api/larod/html/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17 GIT binary patch literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/nomatches.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_0.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_0.html new file mode 100644 index 0000000..4955b9e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_0.js new file mode 100644 index 0000000..6640298 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['architecture',['Architecture',['../md__opt_builder-doc_larod_doc_architecture.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_1.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_1.html new file mode 100644 index 0000000..aedb14e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_1.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_1.js new file mode 100644 index 0000000..63fcd2c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['changes_20in_20the_20larod_20api',['Changes in the larod API',['../md__opt_builder-doc_larod_doc_api-changes.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_2.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_2.html new file mode 100644 index 0000000..bd91593 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_2.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_2.js new file mode 100644 index 0000000..92f15cf --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['deprecated_20list',['Deprecated List',['../deprecated.html',1,'']]], + ['data_20formats_20in_20larod',['Data formats in larod',['../md__opt_builder-doc_larod_doc_model-formats.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_3.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_3.html new file mode 100644 index 0000000..bc0e37f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_3.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_3.js new file mode 100644 index 0000000..1cb0c75 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['introduction_20to_20larod_20for_20app_20developers',['Introduction to larod for app developers',['../md__opt_builder-doc_larod_doc_introduction-for-app-developers.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_4.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_4.html new file mode 100644 index 0000000..d4c3e8e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_4.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_4.js new file mode 100644 index 0000000..bbaeff3 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['model_20converter_20tool_20_28deprecated_29',['Model converter tool (DEPRECATED)',['../md__opt_builder-doc_larod_tools_model-converter_README.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_5.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_5.html new file mode 100644 index 0000000..af17efe --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_5.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_5.js new file mode 100644 index 0000000..d9c45bb --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['neural_20network_20inference',['Neural Network Inference',['../md__opt_builder-doc_larod_doc_nn-inference.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_6.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_6.html new file mode 100644 index 0000000..52583b3 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_6.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_6.js new file mode 100644 index 0000000..277cca0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['overview',['Overview',['../index.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_7.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_7.html new file mode 100644 index 0000000..7d4b8fe --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_7.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_7.js new file mode 100644 index 0000000..d70a930 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['preprocessing',['Preprocessing',['../md__opt_builder-doc_larod_doc_preprocessing.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_8.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_8.html new file mode 100644 index 0000000..b704407 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_8.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_8.js new file mode 100644 index 0000000..ef8241a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['the_20larod_2dclient_20tool',['The larod-client tool',['../md__opt_builder-doc_larod_doc_larod-client.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_9.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_9.html new file mode 100644 index 0000000..751a30f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_9.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_9.js new file mode 100644 index 0000000..de5333a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/pages_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['working_20with_20dma_2dbuf',['Working with dma-buf',['../md__opt_builder-doc_larod_doc_dma-buf.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/search.css b/docs/acap-sdk-version-3/api/src/api/larod/html/search/search.css new file mode 100644 index 0000000..3cf9df9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/search.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/search_r.png b/docs/acap-sdk-version-3/api/src/api/larod/html/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a GIT binary patch literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000 + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/typedefs_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/typedefs_0.js new file mode 100644 index 0000000..d604dfd --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/typedefs_0.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['larodconnection',['larodConnection',['../larod_8h.html#adf976f1fb816101078a7ac0b49a78294',1,'larod.h']]], + ['laroddevice',['larodDevice',['../larod_8h.html#aef607537eb94843735472c4afba5fd87',1,'larod.h']]], + ['larodinferencerequest',['larodInferenceRequest',['../larod_8h.html#a943e66698058355a7feecaf2e1ba1513',1,'larod.h']]], + ['larodjobrequest',['larodJobRequest',['../larod_8h.html#a8f6f0898b3a3c25a07582687b6095265',1,'larod.h']]], + ['larodloadmodelcallback',['larodLoadModelCallback',['../larod_8h.html#aa4057108f02e9886b7992bd7726d10c4',1,'larod.h']]], + ['larodmap',['larodMap',['../larod_8h.html#a480ba7618e79ad250c166c52d216ab79',1,'larod.h']]], + ['larodmodel',['larodModel',['../larod_8h.html#a9e56e66ffecad46856d96bc289b6ce5a',1,'larod.h']]], + ['larodruninferencecallback',['larodRunInferenceCallback',['../larod_8h.html#aba16642947cbd2eb7c0fb1c01196d7b6',1,'larod.h']]], + ['larodrunjobcallback',['larodRunJobCallback',['../larod_8h.html#a974a5de759f35ed4b168919acfa7e77b',1,'larod.h']]], + ['larodtensor',['larodTensor',['../larod_8h.html#a07d4c60d47a09a1c1508b8f9b8db3783',1,'larod.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_0.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_0.html new file mode 100644 index 0000000..74ce807 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_0.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_0.js new file mode 100644 index 0000000..2a9e15e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['code',['code',['../structlarodError.html#a059162c8307af42fcf322163a3dbdc54',1,'larodError']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_1.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_1.html new file mode 100644 index 0000000..84237b6 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_1.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_1.js new file mode 100644 index 0000000..a7c2e26 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['len',['len',['../structlarodTensorDims.html#a41254c9a8c1605fe0133d07b87808950',1,'larodTensorDims::len()'],['../structlarodTensorPitches.html#a0f8cb6d5a02e16dde335a8b1f149670f',1,'larodTensorPitches::len()']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_2.html b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_2.html new file mode 100644 index 0000000..5c9de1a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_2.js b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_2.js new file mode 100644 index 0000000..9ade592 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['msg',['msg',['../structlarodError.html#a07fcd04406359c804afc07ae50bd45ce',1,'larodError']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/splitbar.png b/docs/acap-sdk-version-3/api/src/api/larod/html/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/structlarodError.html b/docs/acap-sdk-version-3/api/src/api/larod/html/structlarodError.html new file mode 100644 index 0000000..2cd0166 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/structlarodError.html @@ -0,0 +1,100 @@ + + + + + + + +liblarod: larodError Struct Reference + + + + + + + + + + +
    +
    + + + + + + + +
    +
    liblarod +  3.1.28 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    larodError Struct Reference
    +
    +
    + +

    Type containing error information. + More...

    + +

    #include <larod.h>

    + + + + + + + + +

    +Data Fields

    +larodErrorCode code
     Error code.
     
    +const char * msg
     Error message.
     
    +

    Detailed Description

    +

    Type containing error information.

    +

    This is passed as an pointer argument to most library functions. An initialized pointer of this type needs to be deallocated with larodClearError(). The field msg will always be non-NULL on errors.

    +

    The documentation for this struct was generated from the following file: +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/structlarodTensorDims.html b/docs/acap-sdk-version-3/api/src/api/larod/html/structlarodTensorDims.html new file mode 100644 index 0000000..29f6e36 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/structlarodTensorDims.html @@ -0,0 +1,98 @@ + + + + + + + +liblarod: larodTensorDims Struct Reference + + + + + + + + + + +
    +
    + + + + + + + +
    +
    liblarod +  3.1.28 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    larodTensorDims Struct Reference
    +
    +
    + +

    A type containing information about a tensor's dimensions. + More...

    + +

    #include <larod.h>

    + + + + + +

    +Data Fields

    +size_t len
     Length of dims array.
     
    +

    Detailed Description

    +

    A type containing information about a tensor's dimensions.

    +

    As part of larodTensor this is used to define dimensions of a tensor. For most values of larodTensorLayout the tensor can be viewed as a multidimensional array, where the size of each dimension is described by the corresponding number in the larodTensorDims struct. An exception to this is LAROD_TENSOR_LAYOUT_420SP. For more info, see larodTensorLayout.

    +

    If len is set to 0 for an input or output tensor when running a job, there will be no sanity check that it matches what the model expects.

    +

    If len is specified, it must be equal to the len of the tensor's pitches if that is also specified; otherwise one gets an error when creating job requests. See larodTensorPitches for more details of how they are related.

    +

    The documentation for this struct was generated from the following file: +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/structlarodTensorPitches.html b/docs/acap-sdk-version-3/api/src/api/larod/html/structlarodTensorPitches.html new file mode 100644 index 0000000..6b6562a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/structlarodTensorPitches.html @@ -0,0 +1,103 @@ + + + + + + + +liblarod: larodTensorPitches Struct Reference + + + + + + + + + + +
    +
    + + + + + + + +
    +
    liblarod +  3.1.28 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    larodTensorPitches Struct Reference
    +
    +
    + +

    A type containing information about a tensor's pitches. + More...

    + +

    #include <larod.h>

    + + + + + +

    +Data Fields

    +size_t len
     Length of pitches array.
     
    +

    Detailed Description

    +

    A type containing information about a tensor's pitches.

    +

    As part of larodTensor this is used to define pitches of a tensor. For most layouts pitches should be interpreted as the byte size of the elements plus any padding added because of some alignment requirement in each dimension; i.e. as many bytes as one has to traverse to reach the next element of the neighboring left dimension. This is calculated going from right to left. Note that the first element, pitches[0], corresponds to the total byte size of the tensor's data. This interpretation is modified when LAROD_TENSOR_LAYOUT_420SP is used. For more info, see larodTensorLayout, and example 3 below.

    +

    This general definition permits alignment requirements in all dimensions. Often, one only deals with alignment in the width dimension and refers to "row pitch" as the pitch in that specific dimension.

    +

    Example 1: Consider a tensor with layout LAROD_TENSOR_LAYOUT_NCHW, data type float32, dims (1, 3, 250, 250) and an alignment requirement of 32 bytes in the 4th dimension. Starting from the right-most dimension, the 4th pitch is then equal to the byte size of one row: ceil(250 * sizeof(float32) / 32) * 32 = 32 * 32 = 1024. The 4th pitch would then correspond to the "row pitch" for this given larodTensorLayout. The rest of the pitches are calculated as (1 * 3 * 250 * 1024, 3 * 250 * 1024, 250 * 1024, 1024).

    +

    Example 2: A tensor with layout LAROD_TENSOR_LAYOUT_NHWC, dims (1, 224, 300, 3), uint8 as data type, and alignment requirements of 32 and 4 bytes in the 3rd and 4th dimensions respectively, gives the pitches (1 * 224 * 1216, 224 * 1216, 1216, 4), since ceil(3 * sizeof(uint8) / 4) * 4 = 4 and ceil(300

      +
    • 4 / 32) * 32 = 1216. In this example, the "row pitch" would be the 3rd pitch for this layout.
    • +
    +

    Example 3: As an example of LAROD_TENSOR_LAYOUT_420SP consider an image with data type uint8, pixel height of 224, pixel width of 300, an alignment requirement on the width of 32 bytes, and an alignment requirement on the plane separated data part of 32 bytes. The last element, pitches[2], describing the total size of a row, would be 320, since ceil(300 * sizeof(uint8) / 32) * 32 = 320. The second element, pitches[1], describing the total size of the separated data plane would be given by ceil(224 * 320 / 32) * 32 = 224 * 320 = 71680. Finally the first element of pitches would be given by the sum of the two parts of the data, the separated part, and the interleaved part, possibly with additional padding on the end. In this case it would simply be 224 * 320 + 224 * 320 / 2 = 107520.

    +

    If len is set to 0 for an input or output tensor when running a job, there will be no sanity check that it matches what the model expects. If len is specified, it must be equal to the len of its dimensions if that is also specified; otherwise one gets an error when creating requests.

    +

    The documentation for this struct was generated from the following file: +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/sync_off.png b/docs/acap-sdk-version-3/api/src/api/larod/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/sync_on.png b/docs/acap-sdk-version-3/api/src/api/larod/html/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/tab_a.png b/docs/acap-sdk-version-3/api/src/api/larod/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/tab_b.png b/docs/acap-sdk-version-3/api/src/api/larod/html/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/larod/html/tabs.css b/docs/acap-sdk-version-3/api/src/api/larod/html/tabs.css new file mode 100644 index 0000000..bbde11e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/larod/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/axis-logo.png b/docs/acap-sdk-version-3/api/src/api/licensekey/html/axis-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7afe144721cea33a1b4fd747dd3ea0b77b2b347a GIT binary patch literal 2757 zcmZ{mYdq5p8^`|+tSv0RaGT1Yv4qd*ImzGWz52 zK~KI={_DW_ZyHz_0Kn@sA+E=vgZZ$hnTZjw|8G5SFV8$k1cOY`cmNO*`&T@`lYGg8 zP#_p#VJtAs13to|IOglr1ppvJgpq;Wea26WMc|2UDZ;h7(4c5fz6M{X=Nmg&o5PLs zp$^THpP@qH8Z=~p({J7yg1-LT7{=6%SS-ITkp3=H5$_i&Dy@Y`DgwKlelh6uAao3k zyQl58YtU;u$0H$1q0_hTZ-z~7J*6MI`u~6cDb8?6bJ350?$mMbEv5inq$+5&!vdoWz@l<9Cn|3vbSKmP>y zN0rlDB?6P6Q5GLWZupsgs_^-h-l$kUiF;sYa9qYxjebK!f4Cf>`p@*vzTtbhwkx;d zCEXKjV^(V=+aw+^FSZ&2$C&|r-PS55BspA83%+9;>8gG)3vqUI9?*uZBlM>6yTHjc zvi+LvZ+n`2dSVOf(`vyLt;wW7&DNbq)Z00H+D%!nClXvNZKYHF*5zh9fAab2Y$Cd9 zfk!;w6!v#ZqG;EX!n}FAQ3g_LzUSBa15UMGQBe4%tdx5zO6Lhn7Dy=N*rX7I&vxGZ zpt`pOTb`>VT0Y{p4$;*remujQNj~-gwbhhSnK*k6T4iSCb>SiDVVdfuoZmo5YyUV7 z_!bSC+e#c!&NiZK$vT1iIxo{lr~^$sGb-`tEze3QTBFY7#a?A+I>A)n$U0o7;K-DN z>RsIo#cFR_H?x-Q@bcTl3X60e!G7cq9q++6whm!C{&@ec%gOxgoZdGoQD?;<0o!S- zahi?FSx+AgtN#8)lY`XYj}4X(bnL;qB!kK4NIEyF5pO67JfZ8J1SG{LX$*7c^NgH^_LgpR zbipW$CDXcz9a&~~HVYB08aQrXbMee7u$ZYsi*jIoKiIj-V(4p_=W7+^01aOz=shYN z@q(G=xqVuDt+xl(A3C@QeU;M{O0kf0e8p3K#~O}13XyFQgb#mia*mcIs)fKn; zWn=J8t~CjGmGU!xOuUsCH*F2}xFCJ!%|{259>IG78FQ-+SZd;jU#S9N%8@~~1nhQh z;*1oZK97ETo?*@3yH0P~!bc+TZe0wh)^KfZu@x9s88#RrKGXsZs_Or)?6la_BCGRx`nDUYHh8f1w}t0r6)_RA!R ziP)C3taqFC%xXr6Xtiq%d#lLu2aUZVm$apt#ne|cypIrjyYv$7rp-D+o>-WQk6Ijj zV(&}{;m%@{C%HmDf4M;SW=#wyRkJDF`XEun9^`dQSGDG*FEu8O;Ttz8el{VOQ_=M% z1&UYqDXNP4j2=~^@HyoTbL-|1r8Q2)k}=&b@VDKiKEYUG`6p_ z=fEej^ay84m;h1t9$9%r6ooAjt#;fZFP~<##xE3*KPeUbmd2tVmWiCTU3AP=+z7GM zGEg6SIGKEmpavcP`t(90|I8Didc+;~*G_`(*`Dtr5l7n^*6h+7Pwt{6&|y2^Sr)h4 z^lMa_0>SFXDq^FW;DT%1_Narx7ksaT%zCcujH!QBBe}w>Bpi8&Raw2oH&IG5@JAa* ziEV#%u~$I?3ud2)>A`xLVRfa-NxszUwMm%qe62hvgEw*vC+07vc?qn6RxT@50)km@ zOb5T=gJg1i+YHBvtz_htI=3hQD5pK)-H zeZ&YJ*=ur=Lhm`;khI77?Qg5M2TJN&PTW3ArKv9M7cCwxRcrMZBP7zioZobSo4!Kr zKUW&JJWGid!0ii$QcGZP`4>*RHoF-1^3O_Og>x)uZv$IWKq$^eE6Uqt=LrgpV%M^t z`X^(;lJmIA)?uCO7eV>MA{^gK0pf_Rip7SlU ze?M+6GZ2g^Wm_hE^zw_HZ*aVJvM*h=(fs~|?qW@9b00q5%EQV#fD!l^v8QjW_R*E! zy6#ysb%~%c+h(pOd78^nr%n`j7l!QAp|Wm?Hg+PqVlLXW#{2cDVN4|E81}24e7A0J zAsMk4^&j^Oqwhk{HJ7pjBuCxdZ)DtfN9ZwZyh~MA(c!P(!AmNl%ft8e^nAm@e-GA2 z6`b>@WW4mMzH!gu{(l+n4v017$N}WpueW`JYIIPyIhv2n9<+yx^2VpN$hBMZ^GUmo zVo%>*5i`Foy(q{2Y38YTv6e1M>axQ*)EcNLAo?%XLg)B9@+xC(kThi)vA%E~> zj?o)F`;b!eGO-Tt1T2*OIy)L2i_x7@gr!)WF@L#0%PG5^~um6xEJT>UJG=Q{B z?EuYPOZ`6d=Z*%vRp2THd@ZX6dCS#X`2P4^#LOczWPnXup3Er59mf%P0m)JlDfmOr zaq@Xa8OIUOGiowljg=Ejb$1QuRoWB`><~*KD`eiYzEjuFF9l2KFLZyf+8JDKfcv6Q zPwRDtRKhA&OUrK^CnOkW$x^-3TQ^zug z9A~%GRj9wKbn?R-$9>U_!8Ybco96b8N2pcHy(J5gh!zt>F^hyrk5FA&=q1EO(U(Wk zJ`OGRKZ3hH>Uvb>C>=+YGQF9;1^^7)9!{fD3@2M4OK;`?fI)x|?mMb*gpf02vGNbW zT~B3MiTnM5I;oV3008~_qR;2QuPEv_n!Yg#0MNf5g~Q=v*ysu=FU$e}1BC$D)T4u* zM@VV@B>*sZ5R{}$Pzr6>O*27W&&>b;gHM`fgi!vr)ofJBd~v$>@|+<0rc^cZ6ED3< z($UdGFX2fjBnQ!cS*PW!dxmKr9CR)R2*+Iz1OeLZcCPcBrczfsgu8)&bOinR!Lk~; zt{-M+@}2yvrW*lNxsKhhb{#d6yyC|5X#E6^cHg$l3C5EzraiU1qN*p6l(VhoGv>!h zCN3NJ*(Rlstl@dA)!N%<2#MiK_E)H!3HEvS)PKZa8DP5Y1p3AV;mdKI;Vst08RHZO#lD@ literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/closed.png b/docs/acap-sdk-version-3/api/src/api/licensekey/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..8be2d7b0ec3d8e504d722bd3249dfef20c145ab0 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vo}Mm_Ar*{o=N{x`P~>27=QiG_ z^DFMyF_RfFOfDOn&c5qr+{VH%`Qm;~iF5{eezgM;%uBb~+Q)t3ezBqF4!n7C!EEELfL&1o$&=?o~2orby3=>_{g)#mqSL(vJH73NkAOfYO zv<3SywbT0ETQFj0aA8=u>dAcc_C5E!=RLh!qu=iXTo_D%i^PQ!L;(IorBd$qdOdu< ztDk#*56^4U@jPPjI94P=JQgSAI5^IT0T2eOP$&SLLAkVFNTwX3(U?X=3Pz$)xkhQX zo7lFElTORJBBp5-Y&-D+AP9j9Ow+(H27o@6Wy!sXdUBjJ$HzxZOy*!5ihH}Vg1+l! z0+ob%@H>fuX_}%!6iI99wW?l|N~MKpipoKWX0s7Ej-do<$Ev8b;N;%WN}|%H^vEb5 zKfL4p+c$juvPGxkDFT2Y1bT2(uN6|_f!cYi)zk!0@xW`hML`TlcCK2LNF=rCtyTk5 z*0`DMkQad-3|cf0cTnC(g)uihOR>0v-|b>cVat+&?iigPo?hqsKEM#pX_4x^$?V($ za)x_tma2vwj=R0>qViK!gRD{I`mwaLQbGTE_9EUnz& z_U64`UI7H*90h~0?e1(#kjgTG%7f~V2RhLJA^6J_4Ln$q-OuFb0zEiQJU|cv6{x9D zKT>Cr%7Y5k$v0YodLNU&jF^P(bTeTGS17^jm(Te0d5dHs0T7C&7=L}`8jl`70T@Cc nL4J1Lc>4Smz(3>vKQey;u(G`oh?v!A00000NkvXXu0mjfF@8vB literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/doxygen.css b/docs/acap-sdk-version-3/api/src/api/licensekey/html/doxygen.css new file mode 100644 index 0000000..db3f76e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/licensekey/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #C8C7C2; + color: #8A877C; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #959288; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #A29F96; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #D2D1CD; + color: #ffffff; + border: 1px double #C8C6C1; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FDFDFD; + border: 1px solid #E5E4E2; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #F6F6F5; + font-weight: bold; + border: 1px solid #E5E4E2; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #F6F6F5; + border: 1px solid #E5E4E2; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #F7F7F6; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #FBFBFB; + border-left: 2px solid #D2D1CD; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #D6D5D1; +} + +th.dirtab { + background: #F6F6F5; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #A6A49B; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FCFCFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #A29F96; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #F2F2F1; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #A29F96; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 0px 6px 0px; + color: #6E6B62; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #F1F1EF; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 10px 2px 10px; + background-color: #FDFDFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #BEBCB6; + border-top:1px solid #AEABA3; + border-left:1px solid #AEABA3; + border-right:1px solid #E5E4E2; + border-bottom:1px solid #E5E4E2; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #D2D1CD; + border-bottom: 1px solid #D2D1CD; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #FBFBFB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #959288; +} + +.arrow { + color: #D2D1CD; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #BEBCB6; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #78756B; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #D8D7D3; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #D8D7D3; + border-bottom: 1px solid #D8D7D3; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #D8D7D3; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #F2F2F1; + font-size: 90%; + color: #6E6B62; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #D8D7D3; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#CAC8C3; + border:solid 1px #E4E3E1; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#8B887D; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #757168; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#B9B6B0; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#8B887D; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FCFCFC; + margin: 0px; + border-bottom: 1px solid #E5E4E2; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #AEABA3; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #CDCBC6; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#878378; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #FAFAFA; + border: 1px solid #EEEDEC; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #A29F96; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/doxygen.png b/docs/acap-sdk-version-3/api/src/api/licensekey/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..69a921c279e71363b64e6868642ba060f2060323 GIT binary patch literal 3811 zcmV<94jl1`P)W+@m)6{PS0tMorm{%*R%Jx-gSG|?_F#C zYgJ!g4*;zM0FNL&1^}%D0FNeFO`RM901rcY0P39s0IdW7Kc7-}y$=A*k~IK41SO6d zE8gT9sn9qb9?}3B>;FZSy=%<^VAeTjzk6`z4%@9?*L>7pTxR4 zA`g*uo^7P0?oP3gV?W*i)cYjK)mg|%aY&2pNw%BRYsxmA=QI%~+h$p|nc0Nx^Q6Z- z0MHQW2Z=uTuF_&3d{>RHW@5Tdaz)`&Uga3r7W-viDKyuGoHqr~N+%~rbHGb~K#!h% z1V-(p8vSRV9&8by$cV6cJgb6(gFReayQ5Plr-mr5U&Y0mDh|*@pUK<*n*KJ)I+CAS zFR#7;lwDF%%yPaYb4s+C=C&w`2K$V_ z{rgP=#C)S+@=DeXn>ro#_WV$k#rpmFdt=y$=RDGPZd*;kc1li3TTVJTqxEC;u5QYM zJ^fW7HgDQ!B%4ueGblL7IQAueTn+2)-8)zjyAUr2PeQNWUNZmCXMaap+Aag>B`_8N z0l&w{=U$Z0OV5?y@Zlo{@?A!WIyfzImPTKSk?pJR&UQ=7DuYD3@;zUfFcnX9c?tkD z#CCWM^&1tmWBZ?j$lqAHD}&_C;7kdhDa+PWpNIF5VMZTc|3-1_N=-5nNJRuvs@2rV zAwpYYgqJLR1NIKu1Oq@*G(GZ<{L_wTT#p{z_eL*RrnwvdSP~~7al>0EFRz-&-{f=e z@;Bl&dYK=j;qM1Oi6@(8OPjk=w<0g^X#Dt~AoJLlUY7Y+E`N)drRJh-+u!x0xUyqj zU#S89;Kv8BKQl9m{thri8jU_fM*u*Jbm;R>ke-$nLv|C$Za9IH6!E7ynwZ%4ojbRo z_Sf(z&R~7~>P*rNBVGN75q{ZI!e;S6$nfHef#_&wPZe>$A(?mX;CTLF zR99EP&CL`3qsIV1Q)HYF8i6)#Y-C+_kay@);s1z{zm;Db%dqUKxE02vjR(drw=zo!M1G!cswGA7eq0MGpb(WSIY5a%2gN2kEAEvhwh=HDsq%6sANt2Mh`oC z2U+NogIUNrkQGmVxkR(y*}4OOvS-hj#y?(k=@OH9h0MQq_b%RCxdhj)-4N=zb7zO7 z*yU?rV{0qRB*d>kMMbq2**s5n5+kNX8aZ)l8*2G~Uil8oV_)M$OeCFZ(n()nG7B?A zT8DH03w!tMi5WBI`8aNY@?0oAiwz0!JQGe%3=NI*AEi9B3pJHk{ni_d9=9-^<+)^& zhd0?xZ_cjB@|Zb$j-g+F5f80?(eU9zvnNea#_7%PZyY)S?ICb=Qx%`^MGXUzX^YrYcIjgR!V5gZ|lD4Pvcht^gxQ$7RTig5Zy%$6B!eAvi(?iIF4;bK; z6ghn!0BA^*jVD?8v4}dg>o#n5v{hBwir7UkEsBA<6EKew;mjS$ykwcan`^@$=d~wo zJB}SY9!R!x9uy}h*-{q(S|U{*6PnAh2vBx&u?YYT9qN-kagxxogmv*k71qVC)&TVO zrmX;!J#Vfs@M1zjLgI$|E0;QQ_)}zLWWs=G^qXDRQPFd+$!_!^^WJce912y_|F33qdzL)yk$?0)nc1XPD z;%rLyLa=I*->+YJbEbeB4bY~3XY!$B$*sKA4mT88fVNG z`Z@qu(nnbt`26$Sc#_w&Inu3NwI;!_DZP6%yOu67)sYUjH{mND*rT%Yf)_u6 z=JF&}&;pZL-<9T^WsVpip&PuuBF@9k&R!NcdgOEL&&(|1|2{s0bRiR_0#NoM(_CRT zQy{eq&9ShtQIeFp;~f+ieXC!L zSOfLQ6Sz9Vq@ z)JaLd$kI3a-MC?$43K3GGTz&X?YFppNI##cCvOOyHLuO1fOt9D|M?z|lWO%mM%nef;4E$jv<*MzWczn2(wlFVi)3 z9{{kVd%3{%SG0KtmM^eH^}pd;wV`b zyTU^)$MG(YeXWk1X-_K#L^l zGeCm}>#~DGrpRZtmuj#naia{--01mw=dMZx?aSDO6DNvffOxHZ;e|0~KkBnKHa414 z{M&&H%$O|zBCn-O7775ZTC<-2hdVgfC5?MI7*9Xb4*(j`*)v~Lu={Z1#?6`Zd4S|= zXGP72x~&!*JA|yPza^8+XtFua>zQ5z;B)}WPTRQ+C1*;sevsY>AOR%TZqDX`6ezFj z*RCQj?mP(gI=LH&9~M9P*M3N;+@GB-vIy`5!uwyPbXDA8a)aCXpW>R27snW0Lad+LpuGR1OUGxn)AaC zKQ5ddHLrVTr^jXH=~IRH=)(_TYiq+Vauku=SAP8Q_S*pg0ka1U@oNJB4!^>3Z0MP8J%5vl#%7wM{Z?b>W2Wuy%Cp4|`+Ep6v)#q{g^eNo<{$`SmO`CE$ znnmD@`cHuaK(pl**SlBGUsa1cS6Y^S_wGH8GFkI&^41n8B1*+qSmo*r5YD+I7H{D_70zg2+TRw1Wu%{sTn!6Iz@E z5D)d90Pz2SsH7U^F97^Z;{Ng^kvjnVA5j?rlw+N`>wW&n5eWcV2>>1udJF(s2>>2V Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/dynsections.js b/docs/acap-sdk-version-3/api/src/api/licensekey/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/licensekey/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +LicenseKey: File List + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    LicenseKey +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    File List
    +
    +
    +
    Here is a list of all documented files with brief descriptions:
    + + + + +
     licensekey.hLicense key interface
     licensekey_dyn.h
     licensekey_states.hLicense key states file
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/files.js b/docs/acap-sdk-version-3/api/src/api/licensekey/html/files.js new file mode 100644 index 0000000..54cb7e7 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/licensekey/html/files.js @@ -0,0 +1,6 @@ +var files = +[ + [ "licensekey.h", "licensekey_8h.html", "licensekey_8h" ], + [ "licensekey_dyn.h", "licensekey__dyn_8h_source.html", null ], + [ "licensekey_states.h", "licensekey__states_8h.html", "licensekey__states_8h" ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/folderclosed.png b/docs/acap-sdk-version-3/api/src/api/licensekey/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..32f346dfdd52aca9b97ecdbd5a7d2eb71d5431e4 GIT binary patch literal 583 zcmV-N0=WH&P)!A1!UctQj_=)>@jY|znHjfCN(lg4g8=~B#MTLR0HBD`=$D*cUjfKktKEg) z8!!NP3|10Q@P^$=-x*_=-b{!903HQa6#2*ZQ+fC2H|%CR4Nh}zZ>RCQdZc>D=0DU| zt3JWOi&xq}WjGuH$lA~Iv*Gjom$1}it6GD#SB?BuvjbaYMZ{$5^#6>T;|sh#e5Z+A zA~^Z_MS6aq{W$Zf-jrFqvyv=g0t1t)ks^4%iQu#BbiFhH85J+JBq$L8fDVS6>r1?O z`#~ElX+UCy;r&vBa-fJf(LXx`UwR3ciwH zJ`c0iJg`Y39dd(4fpE<^kV>p^uCjWdhqsy9)psN>_#5Y}vhFz&*duJul#n z=X1yHDfqnW_`KtI+);4dfV*m(;PnRF5Bj{_ak*)lpVnqzS+$P<@UQUy|D$c4;4i2n V{UzU_>T>`9002ovPDHLkV1jg!4EO*5 literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/folderopen.png b/docs/acap-sdk-version-3/api/src/api/licensekey/html/folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..3d86075e9e8354717712986c13057ce1eae0c6e4 GIT binary patch literal 586 zcmV-Q0=4~#P)FY*etmehFu1r||vFCjhVtZM985et1t$fBrzan(Xs)GU{y3 z)5q-O^yPX32iI@ploX0Q4JUBD7CZ*uXQRKFfZHv$=fiOs98Zk45yD;(p7SepXcj>RPj4q+%5{DR(bf$cF2}Qts zKE>_h2jv7Oub$Cbt)A9EcF1x^rBe}omd5#fhU2>r%L!h;d`c~=mcP7YtLE~<3GUo` zRNkg3^Evh^u>=69pls9e=o^6S;b{_uOkAmKK2}T<0CFfO*z5I4|L`VZzeuuw&?mue zj|4kC((de#_I5zFu6D>)yF<3wyc_I^eSW8R?T~c3y97Y)DJW>Qt~>^SzlHz*XaG=( Y-&=9_qAhf1ng9R*07*qoM6N<$g53QY82|tP literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/globals.html b/docs/acap-sdk-version-3/api/src/api/licensekey/html/globals.html new file mode 100644 index 0000000..a43ea35 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/licensekey/html/globals.html @@ -0,0 +1,87 @@ + + + + + + + +LicenseKey: Globals + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    LicenseKey +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/globals_func.html b/docs/acap-sdk-version-3/api/src/api/licensekey/html/globals_func.html new file mode 100644 index 0000000..a1c6fa3 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/licensekey/html/globals_func.html @@ -0,0 +1,87 @@ + + + + + + + +LicenseKey: Globals + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    LicenseKey +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/index.html b/docs/acap-sdk-version-3/api/src/api/licensekey/html/index.html new file mode 100644 index 0000000..d0f50e9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/licensekey/html/index.html @@ -0,0 +1,77 @@ + + + + + + + +LicenseKey: Main Page + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    LicenseKey +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    LicenseKey Documentation
    +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/licensekey/html/jquery.js b/docs/acap-sdk-version-3/api/src/api/licensekey/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/licensekey/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;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=$(' + + +
    +
    +
    Data Structures
    +
    +
    +
    Here are the data structures with brief descriptions:
    +
    + + + + + + + + + +
     CVdoChannelA channel
     CVdoChunkA video chunk
     CVdoFrameA video frame
     CVdoMapA class representing a dictionary mapping keys to values
     CVdoMemChunkA memory chunk
     CVdoRectA rectangle
     CVdoResolutionA resolution
     CVdoResolutionSetA set of resolutions
     CVdoStreamA video stream
    + + + + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/annotated_dup.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/annotated_dup.js new file mode 100644 index 0000000..0b57ab0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/annotated_dup.js @@ -0,0 +1,12 @@ +var annotated_dup = +[ + [ "VdoChannel", "classVdoChannel.html", null ], + [ "VdoChunk", "structVdoChunk.html", null ], + [ "VdoFrame", "classVdoFrame.html", null ], + [ "VdoMap", "classVdoMap.html", null ], + [ "VdoMemChunk", "structVdoMemChunk.html", null ], + [ "VdoRect", "structVdoRect.html", null ], + [ "VdoResolution", "structVdoResolution.html", null ], + [ "VdoResolutionSet", "structVdoResolutionSet.html", null ], + [ "VdoStream", "classVdoStream.html", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/bc_s.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1509827fe5636dc2b11c86d5efb48dd040b5d2 GIT binary patch literal 650 zcmV;50(Jd~P)CnOkW$x^-3TQ^zug z9A~%GRj9wKbn?R-$9>U_!8Ybco96b8N2pcHy(J5gh!zt>F^hyrk5FA&=q1EO(U(Wk zJ`OGRKZ3hH>Uvb>C>=+YGQF9;1^^7)9!{fD3@2M4OK;`?fI)x|?mMb*gpf02vGNbW zT~B3MiTnM5I;oV3008~_qR;2QuPEv_n!Yg#0MNf5g~Q=v*ysu=FU$e}1BC$D)T4u* zM@VV@B>*sZ5R{}$Pzr6>O*27W&&>b;gHM`fgi!vr)ofJBd~v$>@|+<0rc^cZ6ED3< z($UdGFX2fjBnQ!cS*PW!dxmKr9CR)R2*+Iz1OeLZcCPcBrczfsgu8)&bOinR!Lk~; zt{-M+@}2yvrW*lNxsKhhb{#d6yyC|5X#E6^cHg$l3C5EzraiU1qN*p6l(VhoGv>!h zCN3NJ*(Rlstl@dA)!N%<2#MiK_E)H!3HEvS)PKZa8DP5Y1p3AV;mdKI;Vst08RHZO#lD@ literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoChannel.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoChannel.html new file mode 100644 index 0000000..93cbb2b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoChannel.html @@ -0,0 +1,108 @@ + + + + + + + +libvdo: VdoChannel Class Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    VdoChannel Class Reference
    +
    +
    + +

    A channel. + More...

    + +

    #include <vdo-channel.h>

    +

    Detailed Description

    +

    A channel.

    +

    The documentation for this class was generated from the following file: +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoFrame.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoFrame.html new file mode 100644 index 0000000..5a869b3 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoFrame.html @@ -0,0 +1,108 @@ + + + + + + + +libvdo: VdoFrame Class Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    VdoFrame Class Reference
    +
    +
    + +

    A video frame. + More...

    + +

    #include <vdo-frame.h>

    +

    Detailed Description

    +

    A video frame.

    +

    The documentation for this class was generated from the following file: +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoMap.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoMap.html new file mode 100644 index 0000000..c7b0ae9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoMap.html @@ -0,0 +1,122 @@ + + + + + + + +libvdo: VdoMap Class Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    VdoMap Class Reference
    +
    +
    + +

    A class representing a dictionary mapping keys to values. + More...

    + +

    #include <vdo-map.h>

    +

    Detailed Description

    +

    A class representing a dictionary mapping keys to values.

    +

    A VdoMap object supports getting/settings properties in the form of key/value pairs with values of the following types.

    +
      +
    • boolean
    • +
    • byte
    • +
    • uint16, uint32, uint64
    • +
    • uint32x2, uint32x4
    • +
    • int16, int32, int64
    • +
    • double
    • +
    • doublex4
    • +
    • string
    • +
    +

    The key is always the name of the property as a string. A VdoMap object does not support duplicate keys. NULL or the empty string "" are not valid keys.

    +

    A VdoMap supports different operations to test if maps contains a specific key or set of keys, for example:

    +
    gboolean contains = FALSE;
    contains = vdo_map_contains(map, "key");
    contains = vdo_map_contains_va(map, "key1", "key2", "key3", NULL);
    const gchar *keys[] = { "key1", "key2", "key3", };
    contains = vdo_map_contains_strv(map, keys);

    A VdoMap also supports different operations to test two maps, or a subset of two maps for equality, for example:

    +
    gboolean equals = FALSE;
    equals = vdo_map_equals(map1, map2);
    equals = vdo_map_equals_va(map1, map2, "key1", "key2", "key3", NULL);
    const gchar *keys[] = { "key1", "key2", "key3", };
    equals = vdo_map_equals_strv(map1, map2, keys);

    The documentation for this class was generated from the following file: +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoStream.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoStream.html new file mode 100644 index 0000000..eada03a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classVdoStream.html @@ -0,0 +1,108 @@ + + + + + + + +libvdo: VdoStream Class Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    VdoStream Class Reference
    +
    +
    + +

    A video stream. + More...

    + +

    #include <vdo-stream.h>

    +

    Detailed Description

    +

    A video stream.

    +

    The documentation for this class was generated from the following file: +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/classes.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classes.html new file mode 100644 index 0000000..6a7b9f4 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/classes.html @@ -0,0 +1,106 @@ + + + + + + + +libvdo: Data Structure Index + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Data Structure Index
    +
    +
    + + + + + + +
      v  
    +
    VdoChunk   VdoMemChunk   VdoResolutionSet   
    VdoFrame   VdoRect   VdoStream   
    VdoChannel   VdoMap   VdoResolution   
    + +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/closed.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..8be2d7b0ec3d8e504d722bd3249dfef20c145ab0 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vo}Mm_Ar*{o=N{x`P~>27=QiG_ z^DFMyF_RfFOfDOn&c5qr+{VH%`Qm;~iF5{eezgM;%uBb~+Q)t3ez + + + + + + +libvdo: Deprecated List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Deprecated List
    +
    +
    +
    +
    Global vdo_frame_get_fd (VdoFrame *self)
    +
    Use vdo_buffer_get_fd
    +
    Global vdo_frame_get_opaque (VdoFrame *self)
    +
    Use vdo_buffer_get_opaque
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_000000_000001.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_000000_000001.html new file mode 100644 index 0000000..0e675e6 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_000000_000001.html @@ -0,0 +1,94 @@ + + + + + + + +libvdo: lib -> common Relation + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html new file mode 100644 index 0000000..bf3045b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html @@ -0,0 +1,121 @@ + + + + + + + +libvdo: lib Directory Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    lib Directory Reference
    +
    +
    +
    +Directory dependency graph for lib:
    +
    +
    lib
    + + +
    + + + + + + + + + + + + + + +

    +Files

    file  vdo-buffer.h [code]
     A memory buffer.
     
    file  vdo-channel.h [code]
     A class representing a channel.
     
    file  vdo-frame.h [code]
     A video frame.
     
    file  vdo-stream.h [code]
     A class representing a stream session.
     
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.dot new file mode 100644 index 0000000..2c1ffe1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.dot @@ -0,0 +1,8 @@ +digraph "lib" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + dir_97aefd0d527b934f1d99a682da8fe6a9 [shape=box, label="lib", style="filled", fillcolor="#eeeeff", pencolor="black", URL="dir_97aefd0d527b934f1d99a682da8fe6a9.html"]; + dir_bdd9a5d540de89e9fe90efdfc6973a4f [shape=box label="common" URL="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html"]; + dir_97aefd0d527b934f1d99a682da8fe6a9->dir_bdd9a5d540de89e9fe90efdfc6973a4f [headlabel="6", labeldistance=1.5 headhref="dir_000000_000001.html"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 new file mode 100644 index 0000000..e9ac9a0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 @@ -0,0 +1 @@ +2be99119adb253a87537badc1f4f28eb \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_bdd9a5d540de89e9fe90efdfc6973a4f.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_bdd9a5d540de89e9fe90efdfc6973a4f.html new file mode 100644 index 0000000..2d3a917 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dir_bdd9a5d540de89e9fe90efdfc6973a4f.html @@ -0,0 +1,111 @@ + + + + + + + +libvdo: common Directory Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    common Directory Reference
    +
    +
    + + + + + + + + + + + +

    +Files

    file  vdo-error.h [code]
     Definitions related to error reporting, e.g. error codes.
     
    file  vdo-map.h [code]
     A class representing a dictionary mapping keys to values.
     
    file  vdo-types.h [code]
     Vdo common type definitions.
     
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/doc.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..a93ee1079085b4d72132604f8d3d4ed539340f48 GIT binary patch literal 705 zcmV;y0zUnTP)BqF4!n7C!EEELfL&1o$&=?o~2orby3=>_{g)#mqSL(vJH73NkAOfYO zv<3SywbT0ETQFj0aA8=u>dAcc_C5E!=RLh!qu=iXTo_D%i^PQ!L;(IorBd$qdOdu< ztDk#*56^4U@jPPjI94P=JQgSAI5^IT0T2eOP$&SLLAkVFNTwX3(U?X=3Pz$)xkhQX zo7lFElTORJBBp5-Y&-D+AP9j9Ow+(H27o@6Wy!sXdUBjJ$HzxZOy*!5ihH}Vg1+l! z0+ob%@H>fuX_}%!6iI99wW?l|N~MKpipoKWX0s7Ej-do<$Ev8b;N;%WN}|%H^vEb5 zKfL4p+c$juvPGxkDFT2Y1bT2(uN6|_f!cYi)zk!0@xW`hML`TlcCK2LNF=rCtyTk5 z*0`DMkQad-3|cf0cTnC(g)uihOR>0v-|b>cVat+&?iigPo?hqsKEM#pX_4x^$?V($ za)x_tma2vwj=R0>qViK!gRD{I`mwaLQbGTE_9EUnz& z_U64`UI7H*90h~0?e1(#kjgTG%7f~V2RhLJA^6J_4Ln$q-OuFb0zEiQJU|cv6{x9D zKT>Cr%7Y5k$v0YodLNU&jF^P(bTeTGS17^jm(Te0d5dHs0T7C&7=L}`8jl`70T@Cc nL4J1Lc>4Smz(3>vKQey;u(G`oh?v!A00000NkvXXu0mjfF@8vB literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/doxygen.css b/docs/acap-sdk-version-3/api/src/api/vdostream/html/doxygen.css new file mode 100644 index 0000000..db3f76e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #C8C7C2; + color: #8A877C; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #959288; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #A29F96; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #D2D1CD; + color: #ffffff; + border: 1px double #C8C6C1; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FDFDFD; + border: 1px solid #E5E4E2; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #F6F6F5; + font-weight: bold; + border: 1px solid #E5E4E2; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #F6F6F5; + border: 1px solid #E5E4E2; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #F7F7F6; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #FBFBFB; + border-left: 2px solid #D2D1CD; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #D6D5D1; +} + +th.dirtab { + background: #F6F6F5; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #A6A49B; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FCFCFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #A29F96; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #F2F2F1; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #A29F96; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 0px 6px 0px; + color: #6E6B62; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #F1F1EF; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 10px 2px 10px; + background-color: #FDFDFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #BEBCB6; + border-top:1px solid #AEABA3; + border-left:1px solid #AEABA3; + border-right:1px solid #E5E4E2; + border-bottom:1px solid #E5E4E2; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #D2D1CD; + border-bottom: 1px solid #D2D1CD; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #FBFBFB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #959288; +} + +.arrow { + color: #D2D1CD; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #BEBCB6; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #78756B; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #D8D7D3; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #D8D7D3; + border-bottom: 1px solid #D8D7D3; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #D8D7D3; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #F2F2F1; + font-size: 90%; + color: #6E6B62; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #D8D7D3; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#CAC8C3; + border:solid 1px #E4E3E1; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#8B887D; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #757168; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#B9B6B0; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#8B887D; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FCFCFC; + margin: 0px; + border-bottom: 1px solid #E5E4E2; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #AEABA3; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #CDCBC6; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#878378; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #FAFAFA; + border: 1px solid #EEEDEC; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #A29F96; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/doxygen.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..69a921c279e71363b64e6868642ba060f2060323 GIT binary patch literal 3811 zcmV<94jl1`P)W+@m)6{PS0tMorm{%*R%Jx-gSG|?_F#C zYgJ!g4*;zM0FNL&1^}%D0FNeFO`RM901rcY0P39s0IdW7Kc7-}y$=A*k~IK41SO6d zE8gT9sn9qb9?}3B>;FZSy=%<^VAeTjzk6`z4%@9?*L>7pTxR4 zA`g*uo^7P0?oP3gV?W*i)cYjK)mg|%aY&2pNw%BRYsxmA=QI%~+h$p|nc0Nx^Q6Z- z0MHQW2Z=uTuF_&3d{>RHW@5Tdaz)`&Uga3r7W-viDKyuGoHqr~N+%~rbHGb~K#!h% z1V-(p8vSRV9&8by$cV6cJgb6(gFReayQ5Plr-mr5U&Y0mDh|*@pUK<*n*KJ)I+CAS zFR#7;lwDF%%yPaYb4s+C=C&w`2K$V_ z{rgP=#C)S+@=DeXn>ro#_WV$k#rpmFdt=y$=RDGPZd*;kc1li3TTVJTqxEC;u5QYM zJ^fW7HgDQ!B%4ueGblL7IQAueTn+2)-8)zjyAUr2PeQNWUNZmCXMaap+Aag>B`_8N z0l&w{=U$Z0OV5?y@Zlo{@?A!WIyfzImPTKSk?pJR&UQ=7DuYD3@;zUfFcnX9c?tkD z#CCWM^&1tmWBZ?j$lqAHD}&_C;7kdhDa+PWpNIF5VMZTc|3-1_N=-5nNJRuvs@2rV zAwpYYgqJLR1NIKu1Oq@*G(GZ<{L_wTT#p{z_eL*RrnwvdSP~~7al>0EFRz-&-{f=e z@;Bl&dYK=j;qM1Oi6@(8OPjk=w<0g^X#Dt~AoJLlUY7Y+E`N)drRJh-+u!x0xUyqj zU#S89;Kv8BKQl9m{thri8jU_fM*u*Jbm;R>ke-$nLv|C$Za9IH6!E7ynwZ%4ojbRo z_Sf(z&R~7~>P*rNBVGN75q{ZI!e;S6$nfHef#_&wPZe>$A(?mX;CTLF zR99EP&CL`3qsIV1Q)HYF8i6)#Y-C+_kay@);s1z{zm;Db%dqUKxE02vjR(drw=zo!M1G!cswGA7eq0MGpb(WSIY5a%2gN2kEAEvhwh=HDsq%6sANt2Mh`oC z2U+NogIUNrkQGmVxkR(y*}4OOvS-hj#y?(k=@OH9h0MQq_b%RCxdhj)-4N=zb7zO7 z*yU?rV{0qRB*d>kMMbq2**s5n5+kNX8aZ)l8*2G~Uil8oV_)M$OeCFZ(n()nG7B?A zT8DH03w!tMi5WBI`8aNY@?0oAiwz0!JQGe%3=NI*AEi9B3pJHk{ni_d9=9-^<+)^& zhd0?xZ_cjB@|Zb$j-g+F5f80?(eU9zvnNea#_7%PZyY)S?ICb=Qx%`^MGXUzX^YrYcIjgR!V5gZ|lD4Pvcht^gxQ$7RTig5Zy%$6B!eAvi(?iIF4;bK; z6ghn!0BA^*jVD?8v4}dg>o#n5v{hBwir7UkEsBA<6EKew;mjS$ykwcan`^@$=d~wo zJB}SY9!R!x9uy}h*-{q(S|U{*6PnAh2vBx&u?YYT9qN-kagxxogmv*k71qVC)&TVO zrmX;!J#Vfs@M1zjLgI$|E0;QQ_)}zLWWs=G^qXDRQPFd+$!_!^^WJce912y_|F33qdzL)yk$?0)nc1XPD z;%rLyLa=I*->+YJbEbeB4bY~3XY!$B$*sKA4mT88fVNG z`Z@qu(nnbt`26$Sc#_w&Inu3NwI;!_DZP6%yOu67)sYUjH{mND*rT%Yf)_u6 z=JF&}&;pZL-<9T^WsVpip&PuuBF@9k&R!NcdgOEL&&(|1|2{s0bRiR_0#NoM(_CRT zQy{eq&9ShtQIeFp;~f+ieXC!L zSOfLQ6Sz9Vq@ z)JaLd$kI3a-MC?$43K3GGTz&X?YFppNI##cCvOOyHLuO1fOt9D|M?z|lWO%mM%nef;4E$jv<*MzWczn2(wlFVi)3 z9{{kVd%3{%SG0KtmM^eH^}pd;wV`b zyTU^)$MG(YeXWk1X-_K#L^l zGeCm}>#~DGrpRZtmuj#naia{--01mw=dMZx?aSDO6DNvffOxHZ;e|0~KkBnKHa414 z{M&&H%$O|zBCn-O7775ZTC<-2hdVgfC5?MI7*9Xb4*(j`*)v~Lu={Z1#?6`Zd4S|= zXGP72x~&!*JA|yPza^8+XtFua>zQ5z;B)}WPTRQ+C1*;sevsY>AOR%TZqDX`6ezFj z*RCQj?mP(gI=LH&9~M9P*M3N;+@GB-vIy`5!uwyPbXDA8a)aCXpW>R27snW0Lad+LpuGR1OUGxn)AaC zKQ5ddHLrVTr^jXH=~IRH=)(_TYiq+Vauku=SAP8Q_S*pg0ka1U@oNJB4!^>3Z0MP8J%5vl#%7wM{Z?b>W2Wuy%Cp4|`+Ep6v)#q{g^eNo<{$`SmO`CE$ znnmD@`cHuaK(pl**SlBGUsa1cS6Y^S_wGH8GFkI&^41n8B1*+qSmo*r5YD+I7H{D_70zg2+TRw1Wu%{sTn!6Iz@E z5D)d90Pz2SsH7U^F97^Z;{Ng^kvjnVA5j?rlw+N`>wW&n5eWcV2>>1udJF(s2>>2V Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/dynsections.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +libvdo: File List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    File List
    +
    +
    +
    Here is a list of all documented files with brief descriptions:
    + + + + + + + + +
     vdo-buffer.hA memory buffer
     vdo-channel.hA class representing a channel
     vdo-error.hDefinitions related to error reporting, e.g. error codes
     vdo-frame.hA video frame
     vdo-map.hA class representing a dictionary mapping keys to values
     vdo-stream.hA class representing a stream session
     vdo-types.hVdo common type definitions
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/files.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/files.js new file mode 100644 index 0000000..4be7fe8 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/files.js @@ -0,0 +1,10 @@ +var files = +[ + [ "vdo-buffer.h", "vdo-buffer_8h.html", "vdo-buffer_8h" ], + [ "vdo-channel.h", "vdo-channel_8h.html", "vdo-channel_8h" ], + [ "vdo-error.h", "vdo-error_8h.html", "vdo-error_8h" ], + [ "vdo-frame.h", "vdo-frame_8h.html", "vdo-frame_8h" ], + [ "vdo-map.h", "vdo-map_8h.html", "vdo-map_8h" ], + [ "vdo-stream.h", "vdo-stream_8h.html", "vdo-stream_8h" ], + [ "vdo-types.h", "vdo-types_8h.html", "vdo-types_8h" ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/folderclosed.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..32f346dfdd52aca9b97ecdbd5a7d2eb71d5431e4 GIT binary patch literal 583 zcmV-N0=WH&P)!A1!UctQj_=)>@jY|znHjfCN(lg4g8=~B#MTLR0HBD`=$D*cUjfKktKEg) z8!!NP3|10Q@P^$=-x*_=-b{!903HQa6#2*ZQ+fC2H|%CR4Nh}zZ>RCQdZc>D=0DU| zt3JWOi&xq}WjGuH$lA~Iv*Gjom$1}it6GD#SB?BuvjbaYMZ{$5^#6>T;|sh#e5Z+A zA~^Z_MS6aq{W$Zf-jrFqvyv=g0t1t)ks^4%iQu#BbiFhH85J+JBq$L8fDVS6>r1?O z`#~ElX+UCy;r&vBa-fJf(LXx`UwR3ciwH zJ`c0iJg`Y39dd(4fpE<^kV>p^uCjWdhqsy9)psN>_#5Y}vhFz&*duJul#n z=X1yHDfqnW_`KtI+);4dfV*m(;PnRF5Bj{_ak*)lpVnqzS+$P<@UQUy|D$c4;4i2n V{UzU_>T>`9002ovPDHLkV1jg!4EO*5 literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/folderopen.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..3d86075e9e8354717712986c13057ce1eae0c6e4 GIT binary patch literal 586 zcmV-Q0=4~#P)FY*etmehFu1r||vFCjhVtZM985et1t$fBrzan(Xs)GU{y3 z)5q-O^yPX32iI@ploX0Q4JUBD7CZ*uXQRKFfZHv$=fiOs98Zk45yD;(p7SepXcj>RPj4q+%5{DR(bf$cF2}Qts zKE>_h2jv7Oub$Cbt)A9EcF1x^rBe}omd5#fhU2>r%L!h;d`c~=mcP7YtLE~<3GUo` zRNkg3^Evh^u>=69pls9e=o^6S;b{_uOkAmKK2}T<0CFfO*z5I4|L`VZzeuuw&?mue zj|4kC((de#_I5zFu6D>)yF<3wyc_I^eSW8R?T~c3y97Y)DJW>Qt~>^SzlHz*XaG=( Y-&=9_qAhf1ng9R*07*qoM6N<$g53QY82|tP literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals.html new file mode 100644 index 0000000..869e2b8 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals.html @@ -0,0 +1,799 @@ + + + + + + + +libvdo: Globals + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
    + +

    - v -

    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_defs.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_defs.html new file mode 100644 index 0000000..feb3e9a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_defs.html @@ -0,0 +1,104 @@ + + + + + + + +libvdo: Globals + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_dup.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_dup.js new file mode 100644 index 0000000..74b99ee --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_dup.js @@ -0,0 +1,4 @@ +var globals_dup = +[ + [ "v", "globals.html", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_enum.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_enum.html new file mode 100644 index 0000000..e5d2b88 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_enum.html @@ -0,0 +1,137 @@ + + + + + + + +libvdo: Globals + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_eval.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_eval.html new file mode 100644 index 0000000..b461265 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_eval.html @@ -0,0 +1,457 @@ + + + + + + + +libvdo: Globals + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +  + +

    - v -

    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_func.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_func.html new file mode 100644 index 0000000..780c2a8 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/globals_func.html @@ -0,0 +1,388 @@ + + + + + + + +libvdo: Globals + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +  + +

    - v -

    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.dot new file mode 100644 index 0000000..789df56 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.dot @@ -0,0 +1,22 @@ +digraph "Graph Legend" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node9 [shape="box",label="Inherited",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",fillcolor="grey75",style="filled" fontcolor="black"]; + Node10 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [shape="box",label="PublicBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"]; + Node11 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [shape="box",label="Truncated",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"]; + Node13 -> Node9 [dir="back",color="darkgreen",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [shape="box",label="ProtectedBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"]; + Node14 -> Node9 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [shape="box",label="PrivateBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"]; + Node15 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [shape="box",label="Undocumented",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="grey75"]; + Node16 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [shape="box",label="Templ< int >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node17 -> Node16 [dir="back",color="orange",fontsize="10",style="dashed",label="< int >",fontname="Helvetica"]; + Node17 [shape="box",label="Templ< T >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node18 -> Node9 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label="m_usedClass",fontname="Helvetica"]; + Node18 [shape="box",label="Used",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.html new file mode 100644 index 0000000..d9958d8 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.html @@ -0,0 +1,126 @@ + + + + + + + +libvdo: Graph Legend + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Graph Legend
    +
    +
    +

    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:

    +
      +
    • +A filled gray box represents the struct or class for which the graph is generated.
    • +
    • +A box with a black border denotes a documented struct or class.
    • +
    • +A box with a gray border denotes an undocumented struct or class.
    • +
    • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
    • +
    +

    The arrows have the following meaning:

    +
      +
    • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
    • +
    • +A dark green arrow is used for protected inheritance.
    • +
    • +A dark red arrow is used for private inheritance.
    • +
    • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
    • +
    • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
    • +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/index.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/index.html new file mode 100644 index 0000000..616928d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/index.html @@ -0,0 +1,97 @@ + + + + + + + +libvdo: Main Page + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    libvdo Documentation
    +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/jquery.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;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=$(' + + +
    +
    +
    Related Pages
    +
    +
    +
    Here is a list of all related documentation pages:
    +
    + +
     Deprecated List
    + + + + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/resize.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/resize.js new file mode 100644 index 0000000..56e4a02 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/resize.js @@ -0,0 +1,114 @@ +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + + function readCookie(cookie) + { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; + } + + function writeCookie(cookie, val, expiration) + { + if (val==undefined) return; + if (expiration == null) { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth-barWidth, null); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px"}); + var width=$(window).width(); + if (width!=collapsedWidth) { + if (width=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).load(resizeHeight); +} + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_0.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_0.html new file mode 100644 index 0000000..f25360b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_0.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_0.js new file mode 100644 index 0000000..038da54 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['deprecated_20list',['Deprecated List',['../deprecated.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_1.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_1.html new file mode 100644 index 0000000..b13f0f7 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_1.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_1.js new file mode 100644 index 0000000..016d31d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/all_1.js @@ -0,0 +1,253 @@ +var searchData= +[ + ['vdo_2dbuffer_2eh',['vdo-buffer.h',['../vdo-buffer_8h.html',1,'']]], + ['vdo_2dchannel_2eh',['vdo-channel.h',['../vdo-channel_8h.html',1,'']]], + ['vdo_2derror_2eh',['vdo-error.h',['../vdo-error_8h.html',1,'']]], + ['vdo_2dframe_2eh',['vdo-frame.h',['../vdo-frame_8h.html',1,'']]], + ['vdo_2dmap_2eh',['vdo-map.h',['../vdo-map_8h.html',1,'']]], + ['vdo_2dstream_2eh',['vdo-stream.h',['../vdo-stream_8h.html',1,'']]], + ['vdo_2dtypes_2eh',['vdo-types.h',['../vdo-types_8h.html',1,'']]], + ['vdo_5fbuffer_5faccess_5fany_5frd',['VDO_BUFFER_ACCESS_ANY_RD',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa09250a2db1ee6c0ae1be2f30fee218e9',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fany_5frw',['VDO_BUFFER_ACCESS_ANY_RW',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa7205d31a0292710ba7fd7122ade39fbe',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fany_5fwr',['VDO_BUFFER_ACCESS_ANY_WR',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa3763c654ea2d9721857ad71934d7b9f0',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fcpu_5frd',['VDO_BUFFER_ACCESS_CPU_RD',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfad8fd4e66962a1c9b1406edf26eddbafe',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fcpu_5frw',['VDO_BUFFER_ACCESS_CPU_RW',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa18ed8df77a6f6122ed2fc9ca75f6ebcf',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fcpu_5fwr',['VDO_BUFFER_ACCESS_CPU_WR',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa0dd193450c0c9e971d3fbc49048646fd',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fdev_5frd',['VDO_BUFFER_ACCESS_DEV_RD',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa5fb495938d2f75e934401f6d8926d3d2',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fdev_5frw',['VDO_BUFFER_ACCESS_DEV_RW',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa9c7be72cf515100a54beba01ddef05dd',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fdev_5fwr',['VDO_BUFFER_ACCESS_DEV_WR',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa82371b61688725c39924662af78f95ba',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fnone',['VDO_BUFFER_ACCESS_NONE',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfad9fa9e9db15d55cfca1ecf2a48fe481d',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fget_5fcapacity',['vdo_buffer_get_capacity',['../vdo-buffer_8h.html#a7c5d9bc38c54bb580dab91542ddf3aa2',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5fdata',['vdo_buffer_get_data',['../vdo-buffer_8h.html#a3d39e2466d23b62e52a0fbfd10a968a3',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5ffd',['vdo_buffer_get_fd',['../vdo-buffer_8h.html#ae10562fcb528fc9337767556d6904da8',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5fframe',['vdo_buffer_get_frame',['../vdo-buffer_8h.html#a5367ff8edb99976f0b22a2809d44c097',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5fid',['vdo_buffer_get_id',['../vdo-buffer_8h.html#a5e5ecb68a24fedece4e2b3afb0cac3a7',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5foffset',['vdo_buffer_get_offset',['../vdo-buffer_8h.html#a00af1cf2ead704a04ca611a7a5f4213c',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5fopaque',['vdo_buffer_get_opaque',['../vdo-buffer_8h.html#a231bbe5da68795986d481253c879bc11',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fis_5fcomplete',['vdo_buffer_is_complete',['../vdo-buffer_8h.html#ab0826cd3642b0cf662c69d84cbaaa2a0',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fnew',['vdo_buffer_new',['../vdo-buffer_8h.html#ad35e3382fa9f9bb4024af62cec90b034',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fnew_5ffull',['vdo_buffer_new_full',['../vdo-buffer_8h.html#a097843481f6052a45fa46a6ca359750a',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fstrategy_5fexplicit',['VDO_BUFFER_STRATEGY_EXPLICIT',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4ad8497a62d7dbc983c753efd76504e69f',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fstrategy_5fexternal',['VDO_BUFFER_STRATEGY_EXTERNAL',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4ae95f7aee9424e572727a460f7f87a6be',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fstrategy_5finfinite',['VDO_BUFFER_STRATEGY_INFINITE',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4a6c925db4175c12444a61ddf51b6320da',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fstrategy_5finput',['VDO_BUFFER_STRATEGY_INPUT',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4a34f22d827d35b5310230035e801579f0',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fstrategy_5fnone',['VDO_BUFFER_STRATEGY_NONE',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4a0a0980cfe5eb8633007e847d7bdb4c00',1,'vdo-types.h']]], + ['vdo_5fchannel_5fget',['vdo_channel_get',['../vdo-channel_8h.html#ae5223c6a11ae8f3583457c4917a0b820',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fall',['vdo_channel_get_all',['../vdo-channel_8h.html#ab1032730452f1617fd004f9aa46ded70',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5ffiltered',['vdo_channel_get_filtered',['../vdo-channel_8h.html#a045ce99305ee3e07ce2a243a6fd28861',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fid',['vdo_channel_get_id',['../vdo-channel_8h.html#a2ba1def293a637c15586eb871a586596',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5finfo',['vdo_channel_get_info',['../vdo-channel_8h.html#a19ca10165dba07f8295cd0933bfcaa49',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fresolutions',['vdo_channel_get_resolutions',['../vdo-channel_8h.html#ab95177576e046dd6a42c9f87013089ec',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fsettings',['vdo_channel_get_settings',['../vdo-channel_8h.html#a13a6f7939f63317f8b8798e9f3a75ea0',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fstream_5fprofile',['vdo_channel_get_stream_profile',['../vdo-channel_8h.html#a69e3ce84ef7bf204417794aeb8651ce0',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fset_5fframerate',['vdo_channel_set_framerate',['../vdo-channel_8h.html#a44e1103d8690783c53103d326e9da5e0',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fset_5fsettings',['vdo_channel_set_settings',['../vdo-channel_8h.html#a3e17d1d5abf72b3c826a70284eb1ae99',1,'vdo-channel.h']]], + ['vdo_5fchunk_5ferror',['VDO_CHUNK_ERROR',['../vdo-types_8h.html#a93f6a4da596c1b143aa24fe8d9e67428aba3e81bf71f68af4e564612dac639ccc',1,'vdo-types.h']]], + ['vdo_5fchunk_5fnone',['VDO_CHUNK_NONE',['../vdo-types_8h.html#a93f6a4da596c1b143aa24fe8d9e67428a198d581eb044cdd457e9139978de3e06',1,'vdo-types.h']]], + ['vdo_5ferror',['VDO_ERROR',['../vdo-error_8h.html#ab532286ab8152c8b54884fded85dcaa8',1,'vdo-error.h']]], + ['vdo_5ferror_5fbuffer_5ffailure',['VDO_ERROR_BUFFER_FAILURE',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba71bc0f390c1e5afe29a6b2b4aad05c1e',1,'vdo-error.h']]], + ['vdo_5ferror_5fbusy',['VDO_ERROR_BUSY',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8cfed0ddabc1dab1f1742e73f16f4d94',1,'vdo-error.h']]], + ['vdo_5ferror_5fclosed',['VDO_ERROR_CLOSED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8101dbfcf1cb0f5623f5381a6196ad88',1,'vdo-error.h']]], + ['vdo_5ferror_5fdbus',['VDO_ERROR_DBUS',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55bae9fffadbe50af13d405ca72afd2a6b59',1,'vdo-error.h']]], + ['vdo_5ferror_5fexists',['VDO_ERROR_EXISTS',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8f453e570f61c07ce52092f9aebed870',1,'vdo-error.h']]], + ['vdo_5ferror_5ffailed',['VDO_ERROR_FAILED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba51294b5770b88ad90b2b6e152519af16',1,'vdo-error.h']]], + ['vdo_5ferror_5ffatal',['VDO_ERROR_FATAL',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba32964f0d3ac47ad3d9226ac6b2ecf880',1,'vdo-error.h']]], + ['vdo_5ferror_5fhal',['VDO_ERROR_HAL',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55baa986108fa7617fc0c3c5d19add71506b',1,'vdo-error.h']]], + ['vdo_5ferror_5fidle',['VDO_ERROR_IDLE',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4ec07db9ae153800243785fe365136c6',1,'vdo-error.h']]], + ['vdo_5ferror_5finterface_5fdown',['VDO_ERROR_INTERFACE_DOWN',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba73de6c505d8856dc754501cbf7274e9f',1,'vdo-error.h']]], + ['vdo_5ferror_5finvalid_5fargument',['VDO_ERROR_INVALID_ARGUMENT',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55bab37c49a334b083220811df2b1c349baf',1,'vdo-error.h']]], + ['vdo_5ferror_5fio',['VDO_ERROR_IO',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55babb90db658ab07b0cfd94048ed939e056',1,'vdo-error.h']]], + ['vdo_5ferror_5fis_5fexpected',['vdo_error_is_expected',['../vdo-error_8h.html#ac748fae792da6c96a4cba4619a3a3d90',1,'vdo-error.h']]], + ['vdo_5ferror_5fno_5fbuffer_5fspace',['VDO_ERROR_NO_BUFFER_SPACE',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba1e785885934567b2c64673fb93edd594',1,'vdo-error.h']]], + ['vdo_5ferror_5fno_5fdata',['VDO_ERROR_NO_DATA',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4685a995864823aca8721c82dc20cdf6',1,'vdo-error.h']]], + ['vdo_5ferror_5fno_5fevent',['VDO_ERROR_NO_EVENT',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba9cd8a8a6ef280e192aeece78ff1ab0fa',1,'vdo-error.h']]], + ['vdo_5ferror_5fnot_5fcontrolled',['VDO_ERROR_NOT_CONTROLLED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba67c27d18bfa33f2984912adac8b849f3',1,'vdo-error.h']]], + ['vdo_5ferror_5fnot_5ffound',['VDO_ERROR_NOT_FOUND',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55baf254b52ddbda5c7a76d537f24b50bf89',1,'vdo-error.h']]], + ['vdo_5ferror_5fnot_5fsupported',['VDO_ERROR_NOT_SUPPORTED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55baca4da8467985804683e79d1a61a6c8e0',1,'vdo-error.h']]], + ['vdo_5ferror_5foom',['VDO_ERROR_OOM',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba074571aa9c712946cdf410a391261587',1,'vdo-error.h']]], + ['vdo_5ferror_5fpermission_5fdenied',['VDO_ERROR_PERMISSION_DENIED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4894c26cbc5adb3bd246714caa5a0511',1,'vdo-error.h']]], + ['vdo_5fformat_5fbayer',['VDO_FORMAT_BAYER',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246adb7a0ebac2a9a902a7b9b8f1e8c2aa23',1,'vdo-types.h']]], + ['vdo_5fformat_5fget_5ftype',['vdo_format_get_type',['../vdo-types_8h.html#aefe5c21b8a48b6b2cac1892878841711',1,'vdo-types.h']]], + ['vdo_5fformat_5fh264',['VDO_FORMAT_H264',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246adb4968f7cd0955713be86b9c25ce3d8e',1,'vdo-types.h']]], + ['vdo_5fformat_5fh265',['VDO_FORMAT_H265',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246acc2fa3a99ac012438062c551591e90c0',1,'vdo-types.h']]], + ['vdo_5fformat_5fivs',['VDO_FORMAT_IVS',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a585e19cd61423581fb7abbdee6c4fa54',1,'vdo-types.h']]], + ['vdo_5fformat_5fjpeg',['VDO_FORMAT_JPEG',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a49d90b0fb2c39b24e59efc4e4a0cc947',1,'vdo-types.h']]], + ['vdo_5fformat_5fnone',['VDO_FORMAT_NONE',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a071fb4606432bbeb185a0c5e383006ec',1,'vdo-types.h']]], + ['vdo_5fformat_5fplanar_5frgb',['VDO_FORMAT_PLANAR_RGB',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a7f6886218d029fed304e3a9406f0be38',1,'vdo-types.h']]], + ['vdo_5fformat_5fraw',['VDO_FORMAT_RAW',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246abd9c77caf6a60134e05463f966a796aa',1,'vdo-types.h']]], + ['vdo_5fformat_5frgb',['VDO_FORMAT_RGB',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a4d3104370154eb8bb3e941954263067e',1,'vdo-types.h']]], + ['vdo_5fformat_5frgba',['VDO_FORMAT_RGBA',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246ae203eb727b581fb90e850b0a6f1746b6',1,'vdo-types.h']]], + ['vdo_5fformat_5fyuv',['VDO_FORMAT_YUV',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a1e0fbf315a5a12d276716d929f4cacb3',1,'vdo-types.h']]], + ['vdo_5fframe_5fget_5fcustom_5ftimestamp',['vdo_frame_get_custom_timestamp',['../vdo-frame_8h.html#a49b2a8033b4fa5d1408e3e74e239e9e0',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fextra_5finfo',['vdo_frame_get_extra_info',['../vdo-frame_8h.html#ad8fbd4f66680c4c4a70c7505065aa6ad',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5ffd',['vdo_frame_get_fd',['../vdo-frame_8h.html#ab4bb3b7b0775ce6caee5172af24a16fd',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fframe_5ftype',['vdo_frame_get_frame_type',['../vdo-frame_8h.html#a25ed8a15875a85a12b88b2cbabcbd9cb',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fheader_5fsize',['vdo_frame_get_header_size',['../vdo-frame_8h.html#a7d465baa94a94919b0090a18ff71f418',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fis_5flast_5fbuffer',['vdo_frame_get_is_last_buffer',['../vdo-frame_8h.html#aa75877f771a981a0db065e0132e31382',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fopaque',['vdo_frame_get_opaque',['../vdo-frame_8h.html#a6d7eb626d1bf4a2d4ab5173f5a1efc84',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fsequence_5fnbr',['vdo_frame_get_sequence_nbr',['../vdo-frame_8h.html#a4ac5c0ea4f8e0447f888e6d4653a76ed',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fsize',['vdo_frame_get_size',['../vdo-frame_8h.html#a1313d50080954d7d9930617cf2413564',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5ftimestamp',['vdo_frame_get_timestamp',['../vdo-frame_8h.html#a4d44c7416b076907f288473de1ba2f21',1,'vdo-frame.h']]], + ['vdo_5fframe_5fmemmap',['vdo_frame_memmap',['../vdo-frame_8h.html#af8c03aa6e65b7ee5b263205e572fa780',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fcustom_5ftimestamp',['vdo_frame_set_custom_timestamp',['../vdo-frame_8h.html#a780965117fc510292d785b82ce077af1',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fextra_5finfo',['vdo_frame_set_extra_info',['../vdo-frame_8h.html#aab522ead3e52b60de33120691bc1eaf4',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fframe_5ftype',['vdo_frame_set_frame_type',['../vdo-frame_8h.html#aa2a42c17370c10af7e11a114f1cb31a3',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fheader_5fsize',['vdo_frame_set_header_size',['../vdo-frame_8h.html#ab1e186fe052692a35280c1da309c4521',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fis_5flast_5fbuffer',['vdo_frame_set_is_last_buffer',['../vdo-frame_8h.html#a57dd47aeec8690169735268957680ef1',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fsequence_5fnbr',['vdo_frame_set_sequence_nbr',['../vdo-frame_8h.html#ae0cbabed403313a18724a9d61627ed49',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fsize',['vdo_frame_set_size',['../vdo-frame_8h.html#aa0511604695f0987937f90ac6362d8a7',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5ftimestamp',['vdo_frame_set_timestamp',['../vdo-frame_8h.html#a4b1f09ca2e8af5c1e1ecea070fa94ccc',1,'vdo-frame.h']]], + ['vdo_5fframe_5ftake_5fchunk',['vdo_frame_take_chunk',['../vdo-frame_8h.html#adb25e7f390f3e708a9fbc7508b5e0b45',1,'vdo-frame.h']]], + ['vdo_5fframe_5ftype_5fget_5ftype',['vdo_frame_type_get_type',['../vdo-types_8h.html#a0c497b2402527915dd522ab5754967e4',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fb',['VDO_FRAME_TYPE_H264_B',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaf0a98dfb3f03c18e905273e0067faf21',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fi',['VDO_FRAME_TYPE_H264_I',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda1c0f2a7787e8eee9e0e9b8b7bf9b45fe',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fidr',['VDO_FRAME_TYPE_H264_IDR',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddac10b66d4f9118960384e427d76478672',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fp',['VDO_FRAME_TYPE_H264_P',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa0fb718a86e1cc5542cc3c24ecbecaaa',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fpps',['VDO_FRAME_TYPE_H264_PPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda2dee2b72123b6fb836420d61508255ab',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fsei',['VDO_FRAME_TYPE_H264_SEI',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda0e1d6bf366b69a3854a8157418d086e6',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fsps',['VDO_FRAME_TYPE_H264_SPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda419cdfca005fd0c08d26487721edfc90',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fb',['VDO_FRAME_TYPE_H265_B',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda0fe403f1c3fa9da768a39c8d1452964f',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fi',['VDO_FRAME_TYPE_H265_I',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda12634e8a4e0de153b69cb75d9bfdbf5c',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fidr',['VDO_FRAME_TYPE_H265_IDR',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda2ded56d42ad2a351c83248f5ae35982d',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fp',['VDO_FRAME_TYPE_H265_P',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda41b54d7209fff3c6f30c5314a396a2eb',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fpps',['VDO_FRAME_TYPE_H265_PPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa32ab656eabfd7d226da9651b2449fe9',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fsei',['VDO_FRAME_TYPE_H265_SEI',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddae2ebee25c4ea760ed1423ba15f537751',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fsps',['VDO_FRAME_TYPE_H265_SPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda8b6857c92743c7fd7a0c1948dc5b6242',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fvps',['VDO_FRAME_TYPE_H265_VPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaec93bca4bd9f08a433085b9e664e53a0',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fjpeg',['VDO_FRAME_TYPE_JPEG',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddafc8b9132ea65e9b285695b02659e3f3f',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fnone',['VDO_FRAME_TYPE_NONE',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda5f941d95a7b82d394cff06458803dd9c',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fplanar_5frgb',['VDO_FRAME_TYPE_PLANAR_RGB',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa0286ba6789fdad050ecad3ac6bda920',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fraw',['VDO_FRAME_TYPE_RAW',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa0cb2f95dc847651da567ef2a22b71b1',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5frgb',['VDO_FRAME_TYPE_RGB',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda32563cb4bc14abd000de0fcd99dd1d98',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5frgba',['VDO_FRAME_TYPE_RGBA',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddabaaa2217a230b08f027a35f01b4f69d7',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fyuv',['VDO_FRAME_TYPE_YUV',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda0f7eba258bdeeb6ac6a5ca61ee74e602',1,'vdo-types.h']]], + ['vdo_5fframe_5funmap',['vdo_frame_unmap',['../vdo-frame_8h.html#a595c8a65aceaa01ddcf25de7c2061553',1,'vdo-frame.h']]], + ['vdo_5fh264_5fprofile_5fbaseline',['VDO_H264_PROFILE_BASELINE',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0abd2c22a05cc1aab9f163ab4503f699e3',1,'vdo-types.h']]], + ['vdo_5fh264_5fprofile_5fget_5ftype',['vdo_h264_profile_get_type',['../vdo-types_8h.html#ad4d880aa1e63aac12f6f1f50a5240cc4',1,'vdo-types.h']]], + ['vdo_5fh264_5fprofile_5fhigh',['VDO_H264_PROFILE_HIGH',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0a8c6497a0a0856b7403b3ee97efa08a42',1,'vdo-types.h']]], + ['vdo_5fh264_5fprofile_5fmain',['VDO_H264_PROFILE_MAIN',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0a67984e3b62e77ec4f05af10976725739',1,'vdo-types.h']]], + ['vdo_5fh264_5fprofile_5fnone',['VDO_H264_PROFILE_NONE',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0a77ce3f9da1b244de8ea76a7f2a995801',1,'vdo-types.h']]], + ['vdo_5fh265_5fprofile_5fget_5ftype',['vdo_h265_profile_get_type',['../vdo-types_8h.html#a2c0d157e8a53ef009e50892816ac6395',1,'vdo-types.h']]], + ['vdo_5fh265_5fprofile_5fmain',['VDO_H265_PROFILE_MAIN',['../vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8a158bb77d8b16e74687dcfdd38b4e776e',1,'vdo-types.h']]], + ['vdo_5fh265_5fprofile_5fmain_5f10',['VDO_H265_PROFILE_MAIN_10',['../vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8a0ed5b3098addecfe56d8ab6a63a3545f',1,'vdo-types.h']]], + ['vdo_5fh265_5fprofile_5fnone',['VDO_H265_PROFILE_NONE',['../vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8a06213f23aea23b6e90bba0798f746b06',1,'vdo-types.h']]], + ['vdo_5fintent_5fconsume',['VDO_INTENT_CONSUME',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a76952df68c249b9976580784947717dd',1,'vdo-types.h']]], + ['vdo_5fintent_5fcontrol',['VDO_INTENT_CONTROL',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a7c19220b80523ced40464b75f92e6b0f',1,'vdo-types.h']]], + ['vdo_5fintent_5fdefault',['VDO_INTENT_DEFAULT',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8ac4285a061f1f32323096a3609ef7e14e',1,'vdo-types.h']]], + ['vdo_5fintent_5feventfd',['VDO_INTENT_EVENTFD',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a5765cb5e5a8f8bb598818850bd91f9ba',1,'vdo-types.h']]], + ['vdo_5fintent_5fmonitor',['VDO_INTENT_MONITOR',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a9668eddb4acce5e6fd23ee924461d2aa',1,'vdo-types.h']]], + ['vdo_5fintent_5fnone',['VDO_INTENT_NONE',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a1c5ea3c5615a6f53315b4370f9c20447',1,'vdo-types.h']]], + ['vdo_5fintent_5fproduce',['VDO_INTENT_PRODUCE',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a47ea6aae08517338dc9d0b66764069ff',1,'vdo-types.h']]], + ['vdo_5fintent_5funiverse',['VDO_INTENT_UNIVERSE',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8ac3db05fc3647260a8408dc0a00636b49',1,'vdo-types.h']]], + ['vdo_5fmap_5fclear',['vdo_map_clear',['../vdo-map_8h.html#ab942ab99d8733221a504807227c55c78',1,'vdo-map.h']]], + ['vdo_5fmap_5fcontains',['vdo_map_contains',['../vdo-map_8h.html#afba46021d63a6747ecd968146a8bfc93',1,'vdo-map.h']]], + ['vdo_5fmap_5fcontains_5fstrv',['vdo_map_contains_strv',['../vdo-map_8h.html#a397c60eee7105ce0456631730efecc7d',1,'vdo-map.h']]], + ['vdo_5fmap_5fcontains_5fva',['vdo_map_contains_va',['../vdo-map_8h.html#a42ac1e89a17531cf65c7f565964b7cdc',1,'vdo-map.h']]], + ['vdo_5fmap_5fcopy_5fvalue',['vdo_map_copy_value',['../vdo-map_8h.html#a3e70b811f3d1a740ade5da5ab9b14ae1',1,'vdo-map.h']]], + ['vdo_5fmap_5fdump',['vdo_map_dump',['../vdo-map_8h.html#a98b42a54524038a2067ef2c7015c070b',1,'vdo-map.h']]], + ['vdo_5fmap_5fempty',['vdo_map_empty',['../vdo-map_8h.html#a41324ec82e93a622f9073cf708a8545e',1,'vdo-map.h']]], + ['vdo_5fmap_5fentry_5fequals',['vdo_map_entry_equals',['../vdo-map_8h.html#aaa6e51fbb022e4e93a81ccb90a04bf0d',1,'vdo-map.h']]], + ['vdo_5fmap_5fentry_5fupdates',['vdo_map_entry_updates',['../vdo-map_8h.html#aa7b72ff14146c0dacad2df0fd89bc8bf',1,'vdo-map.h']]], + ['vdo_5fmap_5fequals',['vdo_map_equals',['../vdo-map_8h.html#a2c2af191d0695a8e3378fd8e591e7cbd',1,'vdo-map.h']]], + ['vdo_5fmap_5fequals_5fstrv',['vdo_map_equals_strv',['../vdo-map_8h.html#a722f30a129cde74492e81a1fe9916315',1,'vdo-map.h']]], + ['vdo_5fmap_5fequals_5fva',['vdo_map_equals_va',['../vdo-map_8h.html#ae64f48740633752ef626fcd816ee7e2c',1,'vdo-map.h']]], + ['vdo_5fmap_5ffilter_5fprefix',['vdo_map_filter_prefix',['../vdo-map_8h.html#a554346235c2d16315168df26111209cc',1,'vdo-map.h']]], + ['vdo_5fmap_5ffilter_5fstrv',['vdo_map_filter_strv',['../vdo-map_8h.html#a6b07a53b38a5c1bdd241dd2571a72d3c',1,'vdo-map.h']]], + ['vdo_5fmap_5ffilter_5fva',['vdo_map_filter_va',['../vdo-map_8h.html#ae3ef19a1de979e9cebf07bab998fdbbb',1,'vdo-map.h']]], + ['vdo_5fmap_5fget_5fprintf',['vdo_map_get_printf',['../vdo-map_8h.html#a7b8c50168ed43f068a1eaf66472f7301',1,'vdo-map.h']]], + ['vdo_5fmap_5fget_5fvariant',['vdo_map_get_variant',['../vdo-map_8h.html#aabc08661f5f0694f7c1abeff6fd36e8a',1,'vdo-map.h']]], + ['vdo_5fmap_5fmerge',['vdo_map_merge',['../vdo-map_8h.html#ae3d064d00161bf66423fa7f86b8b1d87',1,'vdo-map.h']]], + ['vdo_5fmap_5fnew',['vdo_map_new',['../vdo-map_8h.html#a98b0e304d19d397003f2cc0c774cc33f',1,'vdo-map.h']]], + ['vdo_5fmap_5fnew_5ffrom_5fvariant',['vdo_map_new_from_variant',['../vdo-map_8h.html#a0ad8cdd1aba3ec6625fb869616fae7f4',1,'vdo-map.h']]], + ['vdo_5fmap_5fremove',['vdo_map_remove',['../vdo-map_8h.html#a6f649828e6de0e8147db2a0e741de978',1,'vdo-map.h']]], + ['vdo_5fmap_5fremove_5fstrv',['vdo_map_remove_strv',['../vdo-map_8h.html#af30b5fa0b0dd6f0b0cf9e0417902a8b4',1,'vdo-map.h']]], + ['vdo_5fmap_5fremove_5fva',['vdo_map_remove_va',['../vdo-map_8h.html#aae33d38fc56612499cb66160ed8d0e54',1,'vdo-map.h']]], + ['vdo_5fmap_5fset_5fboolean',['vdo_map_set_boolean',['../vdo-map_8h.html#a8f15d4792608faaf3cae9534c71d2ba8',1,'vdo-map.h']]], + ['vdo_5fmap_5fset_5fprintf',['vdo_map_set_printf',['../vdo-map_8h.html#a1a65512384e0991bfc2dc0e04e92d182',1,'vdo-map.h']]], + ['vdo_5fmap_5fsize',['vdo_map_size',['../vdo-map_8h.html#aa4f3655d8be32e7082f0a8b820ec0651',1,'vdo-map.h']]], + ['vdo_5fmap_5fswap',['vdo_map_swap',['../vdo-map_8h.html#a3d7c695daa085566e776e5c96dc3d7ee',1,'vdo-map.h']]], + ['vdo_5fmap_5fto_5fvariant',['vdo_map_to_variant',['../vdo-map_8h.html#ab9f13fade87567e16bc0b60d801282a7',1,'vdo-map.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fabr',['VDO_RATE_CONTROL_MODE_ABR',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a6275e14bf635a286ccface84b33b62f4',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fcbr',['VDO_RATE_CONTROL_MODE_CBR',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a59a7fbabb67e472718560244cb9abc56',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fget_5ftype',['vdo_rate_control_mode_get_type',['../vdo-types_8h.html#a3fe88561a9c29743218a47089fda4e8e',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fmbr',['VDO_RATE_CONTROL_MODE_MBR',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a80d6493ca0cb729616bec33492455fc4',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fnone',['VDO_RATE_CONTROL_MODE_NONE',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a2a89d96d527196117092b8ab9f30c854',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fvbr',['VDO_RATE_CONTROL_MODE_VBR',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a1a710f57cecf1851462443335b628cc5',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5fframerate',['VDO_RATE_CONTROL_PRIORITY_FRAMERATE',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca3faf17e96907d9d161ba06a3d45c5699',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5ffull_5fframerate',['VDO_RATE_CONTROL_PRIORITY_FULL_FRAMERATE',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca9cc3fcab971df53f286f28f9cd6046bf',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5fget_5ftype',['vdo_rate_control_priority_get_type',['../vdo-types_8h.html#a3a1aee2a6ad15ed02963fce85557a4c4',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5fnone',['VDO_RATE_CONTROL_PRIORITY_NONE',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca21a9fc74e4aa690c0413e5cc104452c1',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5fquality',['VDO_RATE_CONTROL_PRIORITY_QUALITY',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca95089e897993c8cb4e59e3fdec1026b0',1,'vdo-types.h']]], + ['vdo_5fstream_5fattach',['vdo_stream_attach',['../vdo-stream_8h.html#aba5b4264502272caae02a621f3bad63c',1,'vdo-stream.h']]], + ['vdo_5fstream_5fbuffer_5falloc',['vdo_stream_buffer_alloc',['../vdo-stream_8h.html#a18ff54d35650a8fa4a00da2198b4b2d3',1,'vdo-stream.h']]], + ['vdo_5fstream_5fbuffer_5fenqueue',['vdo_stream_buffer_enqueue',['../vdo-stream_8h.html#a897b1e6d50e00aa8974511b4625cbad3',1,'vdo-stream.h']]], + ['vdo_5fstream_5fbuffer_5funref',['vdo_stream_buffer_unref',['../vdo-stream_8h.html#a5c13ae89ffee889aebf1a9b6c3bc3594',1,'vdo-stream.h']]], + ['vdo_5fstream_5fevent_5finvalid',['VDO_STREAM_EVENT_INVALID',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16ac25c671243a29698ba3c3bcf6f11166e',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fnone',['VDO_STREAM_EVENT_NONE',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a2eaecdfa56507e4edc41d734cbced832',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fquota_5fhard',['VDO_STREAM_EVENT_QUOTA_HARD',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16adc545c3ff5383440e5f7c73da264c4a6',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fquota_5fsoft',['VDO_STREAM_EVENT_QUOTA_SOFT',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a639c74ec5b2bafedc3c3974550b7f6e3',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fresource',['VDO_STREAM_EVENT_RESOURCE',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a7006334131e20060575426e959f31b38',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fstarted',['VDO_STREAM_EVENT_STARTED',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a6b59450d51e3f36e9e00cfe941ea77ee',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fstopped',['VDO_STREAM_EVENT_STOPPED',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a5a26e14f380c40f3e59f55fc741cd7b9',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fzipstream',['VDO_STREAM_EVENT_ZIPSTREAM',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16ad6935b2ddb6dd2529850f96bbcc069c9',1,'vdo-types.h']]], + ['vdo_5fstream_5fforce_5fkey_5fframe',['vdo_stream_force_key_frame',['../vdo-stream_8h.html#a32ba781b100c13c7b70e0f700bbce268',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget',['vdo_stream_get',['../vdo-stream_8h.html#a07e12d4c5d79563413711dcdc6085171',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fall',['vdo_stream_get_all',['../vdo-stream_8h.html#ac21dc2bb1e463b20cca05213739e505c',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fbuffer',['vdo_stream_get_buffer',['../vdo-stream_8h.html#a021f68451699a9ca04aa0e67d9b2917e',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fevent',['vdo_stream_get_event',['../vdo-stream_8h.html#af416bd3ec1edf4055c554e0f78b7b9f9',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fevent_5ffd',['vdo_stream_get_event_fd',['../vdo-stream_8h.html#acbdc222c597329e543ba85f330526b12',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5ffd',['vdo_stream_get_fd',['../vdo-stream_8h.html#a81faad176c49398f0a0b9826fb7c31f8',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fid',['vdo_stream_get_id',['../vdo-stream_8h.html#afbd3cb015a9d186123d534068db46749',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5finfo',['vdo_stream_get_info',['../vdo-stream_8h.html#a6368c8c989cbea997947d433dce6a3cb',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fsettings',['vdo_stream_get_settings',['../vdo-stream_8h.html#ad1279257f13b9a406a0df2558f10123e',1,'vdo-stream.h']]], + ['vdo_5fstream_5fnew',['vdo_stream_new',['../vdo-stream_8h.html#a36fa0021eb58d482c494163db9b22b61',1,'vdo-stream.h']]], + ['vdo_5fstream_5fset_5fframerate',['vdo_stream_set_framerate',['../vdo-stream_8h.html#af43f6acfe327b99037ea1e046788e7b5',1,'vdo-stream.h']]], + ['vdo_5fstream_5fset_5fsettings',['vdo_stream_set_settings',['../vdo-stream_8h.html#affa9aec868d9c2fd1f39f44aa63adaf2',1,'vdo-stream.h']]], + ['vdo_5fstream_5fsnapshot',['vdo_stream_snapshot',['../vdo-stream_8h.html#a4b4c0f2124280bde265491c08bd2f47c',1,'vdo-stream.h']]], + ['vdo_5fstream_5fstart',['vdo_stream_start',['../vdo-stream_8h.html#a5a366f51af1a7171a6739d191ca1e113',1,'vdo-stream.h']]], + ['vdo_5fstream_5fstop',['vdo_stream_stop',['../vdo-stream_8h.html#a5e28776ff99b3ecf0b996630eacb4f89',1,'vdo-stream.h']]], + ['vdo_5fstream_5fto_5ffd',['vdo_stream_to_fd',['../vdo-stream_8h.html#aa327d3bc31376dd3edebc15a4491a13e',1,'vdo-stream.h']]], + ['vdo_5ftimestamp_5fmono_5fcapture',['VDO_TIMESTAMP_MONO_CAPTURE',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da37d5c72ee55bfcdd24d7820b76f14ab1',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fmono_5fclient',['VDO_TIMESTAMP_MONO_CLIENT',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da47cd760305a382be581a50d08603ae3c',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fmono_5fclient_5fcapture_5fdiff',['VDO_TIMESTAMP_MONO_CLIENT_CAPTURE_DIFF',['../vdo-types_8h.html#a021421f945451240ceba49813b38196dadb78a856ad2e3cabeec55e26c7b650d7',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fmono_5fclient_5fserver_5fdiff',['VDO_TIMESTAMP_MONO_CLIENT_SERVER_DIFF',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da7ee696ae33fa2499089ae9339bad00cd',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fmono_5fserver',['VDO_TIMESTAMP_MONO_SERVER',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da2363918b518db7dfbbdfcde2b0dad179',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fnone',['VDO_TIMESTAMP_NONE',['../vdo-types_8h.html#a021421f945451240ceba49813b38196daa0aa3f69f3866dc00af14005372383e4',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5futc',['VDO_TIMESTAMP_UTC',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da2440ff65de33ffc2cc4301bf87ba1709',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fzipstream',['VDO_TIMESTAMP_ZIPSTREAM',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da583e50811ded77c9cefed474a0a2b2b5',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5f2x',['VDO_WDR_MODE_2X',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3aa211cda0b04b9923970a58f328e2c4a0',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5f3x',['VDO_WDR_MODE_3X',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3ab018e7619786f9da553894ec56b31196',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5f4x',['VDO_WDR_MODE_4X',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a848ef4214342a9efe04337401859bcaa',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5fget_5ftype',['vdo_wdr_mode_get_type',['../vdo-types_8h.html#acca84d091767d5f50187ce875f7f9c3b',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5flinear',['VDO_WDR_MODE_LINEAR',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a686227e49fd1e489c0bdd3ef8961522d',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5fnone',['VDO_WDR_MODE_NONE',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a544ed8cc91cf9b1f2706101811097b36',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5fsensor',['VDO_WDR_MODE_SENSOR',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a6c76a6b34b64789bfcb4758659790a4e',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5fclassic',['VDO_ZIPSTREAM_PROFILE_CLASSIC',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3afa0365f868710f079db8042063ce899e',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5fget_5ftype',['vdo_zipstream_profile_get_type',['../vdo-types_8h.html#a97294a2b495a86da118ff5c9330b0605',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5flive',['VDO_ZIPSTREAM_PROFILE_LIVE',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3a9a1a2a2f7d8ed7c295562301248d59ad',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5fnone',['VDO_ZIPSTREAM_PROFILE_NONE',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3a89f57cfdc17fe2f1e38f2271c184af69',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5fstorage',['VDO_ZIPSTREAM_PROFILE_STORAGE',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3acffec4fb1fc61e4a450eaf35768eecd6',1,'vdo-types.h']]], + ['vdobufferaccess',['VdoBufferAccess',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecf',1,'vdo-types.h']]], + ['vdobufferstrategy',['VdoBufferStrategy',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4',1,'vdo-types.h']]], + ['vdochannel',['VdoChannel',['../classVdoChannel.html',1,'']]], + ['vdochunk',['VdoChunk',['../structVdoChunk.html',1,'']]], + ['vdochunktype',['VdoChunkType',['../vdo-types_8h.html#a93f6a4da596c1b143aa24fe8d9e67428',1,'vdo-types.h']]], + ['vdoformat',['VdoFormat',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246',1,'vdo-types.h']]], + ['vdoframe',['VdoFrame',['../classVdoFrame.html',1,'']]], + ['vdoframetype',['VdoFrameType',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdd',1,'vdo-types.h']]], + ['vdoh264profile',['VdoH264Profile',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0',1,'vdo-types.h']]], + ['vdoh265profile',['VdoH265Profile',['../vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8',1,'vdo-types.h']]], + ['vdointent',['VdoIntent',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8',1,'vdo-types.h']]], + ['vdomap',['VdoMap',['../classVdoMap.html',1,'']]], + ['vdomemchunk',['VdoMemChunk',['../structVdoMemChunk.html',1,'']]], + ['vdoratecontrolmode',['VdoRateControlMode',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5',1,'vdo-types.h']]], + ['vdoratecontrolpriority',['VdoRateControlPriority',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21ac',1,'vdo-types.h']]], + ['vdorect',['VdoRect',['../structVdoRect.html',1,'']]], + ['vdoresolution',['VdoResolution',['../structVdoResolution.html',1,'']]], + ['vdoresolutionset',['VdoResolutionSet',['../structVdoResolutionSet.html',1,'']]], + ['vdostream',['VdoStream',['../classVdoStream.html',1,'']]], + ['vdostreamevent',['VdoStreamEvent',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16',1,'vdo-types.h']]], + ['vdostreamtimestamp',['VdoStreamTimestamp',['../vdo-types_8h.html#a021421f945451240ceba49813b38196d',1,'vdo-types.h']]], + ['vdowdrmode',['VdoWdrMode',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3',1,'vdo-types.h']]], + ['vdozipstreamprofile',['VdoZipStreamProfile',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3',1,'vdo-types.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/classes_0.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/classes_0.html new file mode 100644 index 0000000..1c3e406 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/classes_0.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/classes_0.js new file mode 100644 index 0000000..4a8becb --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/classes_0.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['vdochannel',['VdoChannel',['../classVdoChannel.html',1,'']]], + ['vdochunk',['VdoChunk',['../structVdoChunk.html',1,'']]], + ['vdoframe',['VdoFrame',['../classVdoFrame.html',1,'']]], + ['vdomap',['VdoMap',['../classVdoMap.html',1,'']]], + ['vdomemchunk',['VdoMemChunk',['../structVdoMemChunk.html',1,'']]], + ['vdorect',['VdoRect',['../structVdoRect.html',1,'']]], + ['vdoresolution',['VdoResolution',['../structVdoResolution.html',1,'']]], + ['vdoresolutionset',['VdoResolutionSet',['../structVdoResolutionSet.html',1,'']]], + ['vdostream',['VdoStream',['../classVdoStream.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/close.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/defines_0.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/defines_0.html new file mode 100644 index 0000000..5b25204 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/defines_0.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/defines_0.js new file mode 100644 index 0000000..98f9f98 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/defines_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['vdo_5ferror',['VDO_ERROR',['../vdo-error_8h.html#ab532286ab8152c8b54884fded85dcaa8',1,'vdo-error.h']]], + ['vdo_5fmap_5fget_5fprintf',['vdo_map_get_printf',['../vdo-map_8h.html#a7b8c50168ed43f068a1eaf66472f7301',1,'vdo-map.h']]], + ['vdo_5fmap_5fset_5fprintf',['vdo_map_set_printf',['../vdo-map_8h.html#a1a65512384e0991bfc2dc0e04e92d182',1,'vdo-map.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enums_0.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enums_0.html new file mode 100644 index 0000000..ee343ac --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enums_0.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enums_0.js new file mode 100644 index 0000000..fb9f10b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enums_0.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['vdobufferaccess',['VdoBufferAccess',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecf',1,'vdo-types.h']]], + ['vdobufferstrategy',['VdoBufferStrategy',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4',1,'vdo-types.h']]], + ['vdochunktype',['VdoChunkType',['../vdo-types_8h.html#a93f6a4da596c1b143aa24fe8d9e67428',1,'vdo-types.h']]], + ['vdoformat',['VdoFormat',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246',1,'vdo-types.h']]], + ['vdoframetype',['VdoFrameType',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdd',1,'vdo-types.h']]], + ['vdoh264profile',['VdoH264Profile',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0',1,'vdo-types.h']]], + ['vdoh265profile',['VdoH265Profile',['../vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8',1,'vdo-types.h']]], + ['vdointent',['VdoIntent',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8',1,'vdo-types.h']]], + ['vdoratecontrolmode',['VdoRateControlMode',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5',1,'vdo-types.h']]], + ['vdoratecontrolpriority',['VdoRateControlPriority',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21ac',1,'vdo-types.h']]], + ['vdostreamevent',['VdoStreamEvent',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16',1,'vdo-types.h']]], + ['vdostreamtimestamp',['VdoStreamTimestamp',['../vdo-types_8h.html#a021421f945451240ceba49813b38196d',1,'vdo-types.h']]], + ['vdowdrmode',['VdoWdrMode',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3',1,'vdo-types.h']]], + ['vdozipstreamprofile',['VdoZipStreamProfile',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3',1,'vdo-types.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enumvalues_0.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enumvalues_0.html new file mode 100644 index 0000000..9387b6a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enumvalues_0.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enumvalues_0.js new file mode 100644 index 0000000..758d73a --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/enumvalues_0.js @@ -0,0 +1,123 @@ +var searchData= +[ + ['vdo_5fbuffer_5faccess_5fany_5frd',['VDO_BUFFER_ACCESS_ANY_RD',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa09250a2db1ee6c0ae1be2f30fee218e9',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fany_5frw',['VDO_BUFFER_ACCESS_ANY_RW',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa7205d31a0292710ba7fd7122ade39fbe',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fany_5fwr',['VDO_BUFFER_ACCESS_ANY_WR',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa3763c654ea2d9721857ad71934d7b9f0',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fcpu_5frd',['VDO_BUFFER_ACCESS_CPU_RD',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfad8fd4e66962a1c9b1406edf26eddbafe',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fcpu_5frw',['VDO_BUFFER_ACCESS_CPU_RW',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa18ed8df77a6f6122ed2fc9ca75f6ebcf',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fcpu_5fwr',['VDO_BUFFER_ACCESS_CPU_WR',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa0dd193450c0c9e971d3fbc49048646fd',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fdev_5frd',['VDO_BUFFER_ACCESS_DEV_RD',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa5fb495938d2f75e934401f6d8926d3d2',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fdev_5frw',['VDO_BUFFER_ACCESS_DEV_RW',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa9c7be72cf515100a54beba01ddef05dd',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fdev_5fwr',['VDO_BUFFER_ACCESS_DEV_WR',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa82371b61688725c39924662af78f95ba',1,'vdo-types.h']]], + ['vdo_5fbuffer_5faccess_5fnone',['VDO_BUFFER_ACCESS_NONE',['../vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfad9fa9e9db15d55cfca1ecf2a48fe481d',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fstrategy_5fexplicit',['VDO_BUFFER_STRATEGY_EXPLICIT',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4ad8497a62d7dbc983c753efd76504e69f',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fstrategy_5fexternal',['VDO_BUFFER_STRATEGY_EXTERNAL',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4ae95f7aee9424e572727a460f7f87a6be',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fstrategy_5finfinite',['VDO_BUFFER_STRATEGY_INFINITE',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4a6c925db4175c12444a61ddf51b6320da',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fstrategy_5finput',['VDO_BUFFER_STRATEGY_INPUT',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4a34f22d827d35b5310230035e801579f0',1,'vdo-types.h']]], + ['vdo_5fbuffer_5fstrategy_5fnone',['VDO_BUFFER_STRATEGY_NONE',['../vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4a0a0980cfe5eb8633007e847d7bdb4c00',1,'vdo-types.h']]], + ['vdo_5fchunk_5ferror',['VDO_CHUNK_ERROR',['../vdo-types_8h.html#a93f6a4da596c1b143aa24fe8d9e67428aba3e81bf71f68af4e564612dac639ccc',1,'vdo-types.h']]], + ['vdo_5fchunk_5fnone',['VDO_CHUNK_NONE',['../vdo-types_8h.html#a93f6a4da596c1b143aa24fe8d9e67428a198d581eb044cdd457e9139978de3e06',1,'vdo-types.h']]], + ['vdo_5ferror_5fbuffer_5ffailure',['VDO_ERROR_BUFFER_FAILURE',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba71bc0f390c1e5afe29a6b2b4aad05c1e',1,'vdo-error.h']]], + ['vdo_5ferror_5fbusy',['VDO_ERROR_BUSY',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8cfed0ddabc1dab1f1742e73f16f4d94',1,'vdo-error.h']]], + ['vdo_5ferror_5fclosed',['VDO_ERROR_CLOSED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8101dbfcf1cb0f5623f5381a6196ad88',1,'vdo-error.h']]], + ['vdo_5ferror_5fdbus',['VDO_ERROR_DBUS',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55bae9fffadbe50af13d405ca72afd2a6b59',1,'vdo-error.h']]], + ['vdo_5ferror_5fexists',['VDO_ERROR_EXISTS',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8f453e570f61c07ce52092f9aebed870',1,'vdo-error.h']]], + ['vdo_5ferror_5ffailed',['VDO_ERROR_FAILED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba51294b5770b88ad90b2b6e152519af16',1,'vdo-error.h']]], + ['vdo_5ferror_5ffatal',['VDO_ERROR_FATAL',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba32964f0d3ac47ad3d9226ac6b2ecf880',1,'vdo-error.h']]], + ['vdo_5ferror_5fhal',['VDO_ERROR_HAL',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55baa986108fa7617fc0c3c5d19add71506b',1,'vdo-error.h']]], + ['vdo_5ferror_5fidle',['VDO_ERROR_IDLE',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4ec07db9ae153800243785fe365136c6',1,'vdo-error.h']]], + ['vdo_5ferror_5finterface_5fdown',['VDO_ERROR_INTERFACE_DOWN',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba73de6c505d8856dc754501cbf7274e9f',1,'vdo-error.h']]], + ['vdo_5ferror_5finvalid_5fargument',['VDO_ERROR_INVALID_ARGUMENT',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55bab37c49a334b083220811df2b1c349baf',1,'vdo-error.h']]], + ['vdo_5ferror_5fio',['VDO_ERROR_IO',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55babb90db658ab07b0cfd94048ed939e056',1,'vdo-error.h']]], + ['vdo_5ferror_5fno_5fbuffer_5fspace',['VDO_ERROR_NO_BUFFER_SPACE',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba1e785885934567b2c64673fb93edd594',1,'vdo-error.h']]], + ['vdo_5ferror_5fno_5fdata',['VDO_ERROR_NO_DATA',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4685a995864823aca8721c82dc20cdf6',1,'vdo-error.h']]], + ['vdo_5ferror_5fno_5fevent',['VDO_ERROR_NO_EVENT',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba9cd8a8a6ef280e192aeece78ff1ab0fa',1,'vdo-error.h']]], + ['vdo_5ferror_5fnot_5fcontrolled',['VDO_ERROR_NOT_CONTROLLED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba67c27d18bfa33f2984912adac8b849f3',1,'vdo-error.h']]], + ['vdo_5ferror_5fnot_5ffound',['VDO_ERROR_NOT_FOUND',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55baf254b52ddbda5c7a76d537f24b50bf89',1,'vdo-error.h']]], + ['vdo_5ferror_5fnot_5fsupported',['VDO_ERROR_NOT_SUPPORTED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55baca4da8467985804683e79d1a61a6c8e0',1,'vdo-error.h']]], + ['vdo_5ferror_5foom',['VDO_ERROR_OOM',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba074571aa9c712946cdf410a391261587',1,'vdo-error.h']]], + ['vdo_5ferror_5fpermission_5fdenied',['VDO_ERROR_PERMISSION_DENIED',['../vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4894c26cbc5adb3bd246714caa5a0511',1,'vdo-error.h']]], + ['vdo_5fformat_5fbayer',['VDO_FORMAT_BAYER',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246adb7a0ebac2a9a902a7b9b8f1e8c2aa23',1,'vdo-types.h']]], + ['vdo_5fformat_5fh264',['VDO_FORMAT_H264',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246adb4968f7cd0955713be86b9c25ce3d8e',1,'vdo-types.h']]], + ['vdo_5fformat_5fh265',['VDO_FORMAT_H265',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246acc2fa3a99ac012438062c551591e90c0',1,'vdo-types.h']]], + ['vdo_5fformat_5fivs',['VDO_FORMAT_IVS',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a585e19cd61423581fb7abbdee6c4fa54',1,'vdo-types.h']]], + ['vdo_5fformat_5fjpeg',['VDO_FORMAT_JPEG',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a49d90b0fb2c39b24e59efc4e4a0cc947',1,'vdo-types.h']]], + ['vdo_5fformat_5fnone',['VDO_FORMAT_NONE',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a071fb4606432bbeb185a0c5e383006ec',1,'vdo-types.h']]], + ['vdo_5fformat_5fplanar_5frgb',['VDO_FORMAT_PLANAR_RGB',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a7f6886218d029fed304e3a9406f0be38',1,'vdo-types.h']]], + ['vdo_5fformat_5fraw',['VDO_FORMAT_RAW',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246abd9c77caf6a60134e05463f966a796aa',1,'vdo-types.h']]], + ['vdo_5fformat_5frgb',['VDO_FORMAT_RGB',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a4d3104370154eb8bb3e941954263067e',1,'vdo-types.h']]], + ['vdo_5fformat_5frgba',['VDO_FORMAT_RGBA',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246ae203eb727b581fb90e850b0a6f1746b6',1,'vdo-types.h']]], + ['vdo_5fformat_5fyuv',['VDO_FORMAT_YUV',['../vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a1e0fbf315a5a12d276716d929f4cacb3',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fb',['VDO_FRAME_TYPE_H264_B',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaf0a98dfb3f03c18e905273e0067faf21',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fi',['VDO_FRAME_TYPE_H264_I',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda1c0f2a7787e8eee9e0e9b8b7bf9b45fe',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fidr',['VDO_FRAME_TYPE_H264_IDR',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddac10b66d4f9118960384e427d76478672',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fp',['VDO_FRAME_TYPE_H264_P',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa0fb718a86e1cc5542cc3c24ecbecaaa',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fpps',['VDO_FRAME_TYPE_H264_PPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda2dee2b72123b6fb836420d61508255ab',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fsei',['VDO_FRAME_TYPE_H264_SEI',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda0e1d6bf366b69a3854a8157418d086e6',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh264_5fsps',['VDO_FRAME_TYPE_H264_SPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda419cdfca005fd0c08d26487721edfc90',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fb',['VDO_FRAME_TYPE_H265_B',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda0fe403f1c3fa9da768a39c8d1452964f',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fi',['VDO_FRAME_TYPE_H265_I',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda12634e8a4e0de153b69cb75d9bfdbf5c',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fidr',['VDO_FRAME_TYPE_H265_IDR',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda2ded56d42ad2a351c83248f5ae35982d',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fp',['VDO_FRAME_TYPE_H265_P',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda41b54d7209fff3c6f30c5314a396a2eb',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fpps',['VDO_FRAME_TYPE_H265_PPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa32ab656eabfd7d226da9651b2449fe9',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fsei',['VDO_FRAME_TYPE_H265_SEI',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddae2ebee25c4ea760ed1423ba15f537751',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fsps',['VDO_FRAME_TYPE_H265_SPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda8b6857c92743c7fd7a0c1948dc5b6242',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fh265_5fvps',['VDO_FRAME_TYPE_H265_VPS',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaec93bca4bd9f08a433085b9e664e53a0',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fjpeg',['VDO_FRAME_TYPE_JPEG',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddafc8b9132ea65e9b285695b02659e3f3f',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fnone',['VDO_FRAME_TYPE_NONE',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda5f941d95a7b82d394cff06458803dd9c',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fplanar_5frgb',['VDO_FRAME_TYPE_PLANAR_RGB',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa0286ba6789fdad050ecad3ac6bda920',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fraw',['VDO_FRAME_TYPE_RAW',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa0cb2f95dc847651da567ef2a22b71b1',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5frgb',['VDO_FRAME_TYPE_RGB',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda32563cb4bc14abd000de0fcd99dd1d98',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5frgba',['VDO_FRAME_TYPE_RGBA',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddabaaa2217a230b08f027a35f01b4f69d7',1,'vdo-types.h']]], + ['vdo_5fframe_5ftype_5fyuv',['VDO_FRAME_TYPE_YUV',['../vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda0f7eba258bdeeb6ac6a5ca61ee74e602',1,'vdo-types.h']]], + ['vdo_5fh264_5fprofile_5fbaseline',['VDO_H264_PROFILE_BASELINE',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0abd2c22a05cc1aab9f163ab4503f699e3',1,'vdo-types.h']]], + ['vdo_5fh264_5fprofile_5fhigh',['VDO_H264_PROFILE_HIGH',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0a8c6497a0a0856b7403b3ee97efa08a42',1,'vdo-types.h']]], + ['vdo_5fh264_5fprofile_5fmain',['VDO_H264_PROFILE_MAIN',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0a67984e3b62e77ec4f05af10976725739',1,'vdo-types.h']]], + ['vdo_5fh264_5fprofile_5fnone',['VDO_H264_PROFILE_NONE',['../vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0a77ce3f9da1b244de8ea76a7f2a995801',1,'vdo-types.h']]], + ['vdo_5fh265_5fprofile_5fmain',['VDO_H265_PROFILE_MAIN',['../vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8a158bb77d8b16e74687dcfdd38b4e776e',1,'vdo-types.h']]], + ['vdo_5fh265_5fprofile_5fmain_5f10',['VDO_H265_PROFILE_MAIN_10',['../vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8a0ed5b3098addecfe56d8ab6a63a3545f',1,'vdo-types.h']]], + ['vdo_5fh265_5fprofile_5fnone',['VDO_H265_PROFILE_NONE',['../vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8a06213f23aea23b6e90bba0798f746b06',1,'vdo-types.h']]], + ['vdo_5fintent_5fconsume',['VDO_INTENT_CONSUME',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a76952df68c249b9976580784947717dd',1,'vdo-types.h']]], + ['vdo_5fintent_5fcontrol',['VDO_INTENT_CONTROL',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a7c19220b80523ced40464b75f92e6b0f',1,'vdo-types.h']]], + ['vdo_5fintent_5fdefault',['VDO_INTENT_DEFAULT',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8ac4285a061f1f32323096a3609ef7e14e',1,'vdo-types.h']]], + ['vdo_5fintent_5feventfd',['VDO_INTENT_EVENTFD',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a5765cb5e5a8f8bb598818850bd91f9ba',1,'vdo-types.h']]], + ['vdo_5fintent_5fmonitor',['VDO_INTENT_MONITOR',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a9668eddb4acce5e6fd23ee924461d2aa',1,'vdo-types.h']]], + ['vdo_5fintent_5fnone',['VDO_INTENT_NONE',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a1c5ea3c5615a6f53315b4370f9c20447',1,'vdo-types.h']]], + ['vdo_5fintent_5fproduce',['VDO_INTENT_PRODUCE',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a47ea6aae08517338dc9d0b66764069ff',1,'vdo-types.h']]], + ['vdo_5fintent_5funiverse',['VDO_INTENT_UNIVERSE',['../vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8ac3db05fc3647260a8408dc0a00636b49',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fabr',['VDO_RATE_CONTROL_MODE_ABR',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a6275e14bf635a286ccface84b33b62f4',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fcbr',['VDO_RATE_CONTROL_MODE_CBR',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a59a7fbabb67e472718560244cb9abc56',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fmbr',['VDO_RATE_CONTROL_MODE_MBR',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a80d6493ca0cb729616bec33492455fc4',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fnone',['VDO_RATE_CONTROL_MODE_NONE',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a2a89d96d527196117092b8ab9f30c854',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fvbr',['VDO_RATE_CONTROL_MODE_VBR',['../vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a1a710f57cecf1851462443335b628cc5',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5fframerate',['VDO_RATE_CONTROL_PRIORITY_FRAMERATE',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca3faf17e96907d9d161ba06a3d45c5699',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5ffull_5fframerate',['VDO_RATE_CONTROL_PRIORITY_FULL_FRAMERATE',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca9cc3fcab971df53f286f28f9cd6046bf',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5fnone',['VDO_RATE_CONTROL_PRIORITY_NONE',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca21a9fc74e4aa690c0413e5cc104452c1',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5fquality',['VDO_RATE_CONTROL_PRIORITY_QUALITY',['../vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca95089e897993c8cb4e59e3fdec1026b0',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5finvalid',['VDO_STREAM_EVENT_INVALID',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16ac25c671243a29698ba3c3bcf6f11166e',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fnone',['VDO_STREAM_EVENT_NONE',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a2eaecdfa56507e4edc41d734cbced832',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fquota_5fhard',['VDO_STREAM_EVENT_QUOTA_HARD',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16adc545c3ff5383440e5f7c73da264c4a6',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fquota_5fsoft',['VDO_STREAM_EVENT_QUOTA_SOFT',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a639c74ec5b2bafedc3c3974550b7f6e3',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fresource',['VDO_STREAM_EVENT_RESOURCE',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a7006334131e20060575426e959f31b38',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fstarted',['VDO_STREAM_EVENT_STARTED',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a6b59450d51e3f36e9e00cfe941ea77ee',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fstopped',['VDO_STREAM_EVENT_STOPPED',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a5a26e14f380c40f3e59f55fc741cd7b9',1,'vdo-types.h']]], + ['vdo_5fstream_5fevent_5fzipstream',['VDO_STREAM_EVENT_ZIPSTREAM',['../vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16ad6935b2ddb6dd2529850f96bbcc069c9',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fmono_5fcapture',['VDO_TIMESTAMP_MONO_CAPTURE',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da37d5c72ee55bfcdd24d7820b76f14ab1',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fmono_5fclient',['VDO_TIMESTAMP_MONO_CLIENT',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da47cd760305a382be581a50d08603ae3c',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fmono_5fclient_5fcapture_5fdiff',['VDO_TIMESTAMP_MONO_CLIENT_CAPTURE_DIFF',['../vdo-types_8h.html#a021421f945451240ceba49813b38196dadb78a856ad2e3cabeec55e26c7b650d7',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fmono_5fclient_5fserver_5fdiff',['VDO_TIMESTAMP_MONO_CLIENT_SERVER_DIFF',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da7ee696ae33fa2499089ae9339bad00cd',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fmono_5fserver',['VDO_TIMESTAMP_MONO_SERVER',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da2363918b518db7dfbbdfcde2b0dad179',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fnone',['VDO_TIMESTAMP_NONE',['../vdo-types_8h.html#a021421f945451240ceba49813b38196daa0aa3f69f3866dc00af14005372383e4',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5futc',['VDO_TIMESTAMP_UTC',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da2440ff65de33ffc2cc4301bf87ba1709',1,'vdo-types.h']]], + ['vdo_5ftimestamp_5fzipstream',['VDO_TIMESTAMP_ZIPSTREAM',['../vdo-types_8h.html#a021421f945451240ceba49813b38196da583e50811ded77c9cefed474a0a2b2b5',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5f2x',['VDO_WDR_MODE_2X',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3aa211cda0b04b9923970a58f328e2c4a0',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5f3x',['VDO_WDR_MODE_3X',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3ab018e7619786f9da553894ec56b31196',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5f4x',['VDO_WDR_MODE_4X',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a848ef4214342a9efe04337401859bcaa',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5flinear',['VDO_WDR_MODE_LINEAR',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a686227e49fd1e489c0bdd3ef8961522d',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5fnone',['VDO_WDR_MODE_NONE',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a544ed8cc91cf9b1f2706101811097b36',1,'vdo-types.h']]], + ['vdo_5fwdr_5fmode_5fsensor',['VDO_WDR_MODE_SENSOR',['../vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a6c76a6b34b64789bfcb4758659790a4e',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5fclassic',['VDO_ZIPSTREAM_PROFILE_CLASSIC',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3afa0365f868710f079db8042063ce899e',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5flive',['VDO_ZIPSTREAM_PROFILE_LIVE',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3a9a1a2a2f7d8ed7c295562301248d59ad',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5fnone',['VDO_ZIPSTREAM_PROFILE_NONE',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3a89f57cfdc17fe2f1e38f2271c184af69',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5fstorage',['VDO_ZIPSTREAM_PROFILE_STORAGE',['../vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3acffec4fb1fc61e4a450eaf35768eecd6',1,'vdo-types.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/files_0.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/files_0.html new file mode 100644 index 0000000..4f272b8 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/files_0.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/files_0.js new file mode 100644 index 0000000..150c98d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/files_0.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['vdo_2dbuffer_2eh',['vdo-buffer.h',['../vdo-buffer_8h.html',1,'']]], + ['vdo_2dchannel_2eh',['vdo-channel.h',['../vdo-channel_8h.html',1,'']]], + ['vdo_2derror_2eh',['vdo-error.h',['../vdo-error_8h.html',1,'']]], + ['vdo_2dframe_2eh',['vdo-frame.h',['../vdo-frame_8h.html',1,'']]], + ['vdo_2dmap_2eh',['vdo-map.h',['../vdo-map_8h.html',1,'']]], + ['vdo_2dstream_2eh',['vdo-stream.h',['../vdo-stream_8h.html',1,'']]], + ['vdo_2dtypes_2eh',['vdo-types.h',['../vdo-types_8h.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/functions_0.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/functions_0.html new file mode 100644 index 0000000..4e6d87d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/functions_0.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/functions_0.js new file mode 100644 index 0000000..d5672da --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/functions_0.js @@ -0,0 +1,100 @@ +var searchData= +[ + ['vdo_5fbuffer_5fget_5fcapacity',['vdo_buffer_get_capacity',['../vdo-buffer_8h.html#a7c5d9bc38c54bb580dab91542ddf3aa2',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5fdata',['vdo_buffer_get_data',['../vdo-buffer_8h.html#a3d39e2466d23b62e52a0fbfd10a968a3',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5ffd',['vdo_buffer_get_fd',['../vdo-buffer_8h.html#ae10562fcb528fc9337767556d6904da8',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5fframe',['vdo_buffer_get_frame',['../vdo-buffer_8h.html#a5367ff8edb99976f0b22a2809d44c097',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5fid',['vdo_buffer_get_id',['../vdo-buffer_8h.html#a5e5ecb68a24fedece4e2b3afb0cac3a7',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5foffset',['vdo_buffer_get_offset',['../vdo-buffer_8h.html#a00af1cf2ead704a04ca611a7a5f4213c',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fget_5fopaque',['vdo_buffer_get_opaque',['../vdo-buffer_8h.html#a231bbe5da68795986d481253c879bc11',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fis_5fcomplete',['vdo_buffer_is_complete',['../vdo-buffer_8h.html#ab0826cd3642b0cf662c69d84cbaaa2a0',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fnew',['vdo_buffer_new',['../vdo-buffer_8h.html#ad35e3382fa9f9bb4024af62cec90b034',1,'vdo-buffer.h']]], + ['vdo_5fbuffer_5fnew_5ffull',['vdo_buffer_new_full',['../vdo-buffer_8h.html#a097843481f6052a45fa46a6ca359750a',1,'vdo-buffer.h']]], + ['vdo_5fchannel_5fget',['vdo_channel_get',['../vdo-channel_8h.html#ae5223c6a11ae8f3583457c4917a0b820',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fall',['vdo_channel_get_all',['../vdo-channel_8h.html#ab1032730452f1617fd004f9aa46ded70',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5ffiltered',['vdo_channel_get_filtered',['../vdo-channel_8h.html#a045ce99305ee3e07ce2a243a6fd28861',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fid',['vdo_channel_get_id',['../vdo-channel_8h.html#a2ba1def293a637c15586eb871a586596',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5finfo',['vdo_channel_get_info',['../vdo-channel_8h.html#a19ca10165dba07f8295cd0933bfcaa49',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fresolutions',['vdo_channel_get_resolutions',['../vdo-channel_8h.html#ab95177576e046dd6a42c9f87013089ec',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fsettings',['vdo_channel_get_settings',['../vdo-channel_8h.html#a13a6f7939f63317f8b8798e9f3a75ea0',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fget_5fstream_5fprofile',['vdo_channel_get_stream_profile',['../vdo-channel_8h.html#a69e3ce84ef7bf204417794aeb8651ce0',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fset_5fframerate',['vdo_channel_set_framerate',['../vdo-channel_8h.html#a44e1103d8690783c53103d326e9da5e0',1,'vdo-channel.h']]], + ['vdo_5fchannel_5fset_5fsettings',['vdo_channel_set_settings',['../vdo-channel_8h.html#a3e17d1d5abf72b3c826a70284eb1ae99',1,'vdo-channel.h']]], + ['vdo_5ferror_5fis_5fexpected',['vdo_error_is_expected',['../vdo-error_8h.html#ac748fae792da6c96a4cba4619a3a3d90',1,'vdo-error.h']]], + ['vdo_5fformat_5fget_5ftype',['vdo_format_get_type',['../vdo-types_8h.html#aefe5c21b8a48b6b2cac1892878841711',1,'vdo-types.h']]], + ['vdo_5fframe_5fget_5fcustom_5ftimestamp',['vdo_frame_get_custom_timestamp',['../vdo-frame_8h.html#a49b2a8033b4fa5d1408e3e74e239e9e0',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fextra_5finfo',['vdo_frame_get_extra_info',['../vdo-frame_8h.html#ad8fbd4f66680c4c4a70c7505065aa6ad',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5ffd',['vdo_frame_get_fd',['../vdo-frame_8h.html#ab4bb3b7b0775ce6caee5172af24a16fd',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fframe_5ftype',['vdo_frame_get_frame_type',['../vdo-frame_8h.html#a25ed8a15875a85a12b88b2cbabcbd9cb',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fheader_5fsize',['vdo_frame_get_header_size',['../vdo-frame_8h.html#a7d465baa94a94919b0090a18ff71f418',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fis_5flast_5fbuffer',['vdo_frame_get_is_last_buffer',['../vdo-frame_8h.html#aa75877f771a981a0db065e0132e31382',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fopaque',['vdo_frame_get_opaque',['../vdo-frame_8h.html#a6d7eb626d1bf4a2d4ab5173f5a1efc84',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fsequence_5fnbr',['vdo_frame_get_sequence_nbr',['../vdo-frame_8h.html#a4ac5c0ea4f8e0447f888e6d4653a76ed',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5fsize',['vdo_frame_get_size',['../vdo-frame_8h.html#a1313d50080954d7d9930617cf2413564',1,'vdo-frame.h']]], + ['vdo_5fframe_5fget_5ftimestamp',['vdo_frame_get_timestamp',['../vdo-frame_8h.html#a4d44c7416b076907f288473de1ba2f21',1,'vdo-frame.h']]], + ['vdo_5fframe_5fmemmap',['vdo_frame_memmap',['../vdo-frame_8h.html#af8c03aa6e65b7ee5b263205e572fa780',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fcustom_5ftimestamp',['vdo_frame_set_custom_timestamp',['../vdo-frame_8h.html#a780965117fc510292d785b82ce077af1',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fextra_5finfo',['vdo_frame_set_extra_info',['../vdo-frame_8h.html#aab522ead3e52b60de33120691bc1eaf4',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fframe_5ftype',['vdo_frame_set_frame_type',['../vdo-frame_8h.html#aa2a42c17370c10af7e11a114f1cb31a3',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fheader_5fsize',['vdo_frame_set_header_size',['../vdo-frame_8h.html#ab1e186fe052692a35280c1da309c4521',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fis_5flast_5fbuffer',['vdo_frame_set_is_last_buffer',['../vdo-frame_8h.html#a57dd47aeec8690169735268957680ef1',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fsequence_5fnbr',['vdo_frame_set_sequence_nbr',['../vdo-frame_8h.html#ae0cbabed403313a18724a9d61627ed49',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5fsize',['vdo_frame_set_size',['../vdo-frame_8h.html#aa0511604695f0987937f90ac6362d8a7',1,'vdo-frame.h']]], + ['vdo_5fframe_5fset_5ftimestamp',['vdo_frame_set_timestamp',['../vdo-frame_8h.html#a4b1f09ca2e8af5c1e1ecea070fa94ccc',1,'vdo-frame.h']]], + ['vdo_5fframe_5ftake_5fchunk',['vdo_frame_take_chunk',['../vdo-frame_8h.html#adb25e7f390f3e708a9fbc7508b5e0b45',1,'vdo-frame.h']]], + ['vdo_5fframe_5ftype_5fget_5ftype',['vdo_frame_type_get_type',['../vdo-types_8h.html#a0c497b2402527915dd522ab5754967e4',1,'vdo-types.h']]], + ['vdo_5fframe_5funmap',['vdo_frame_unmap',['../vdo-frame_8h.html#a595c8a65aceaa01ddcf25de7c2061553',1,'vdo-frame.h']]], + ['vdo_5fh264_5fprofile_5fget_5ftype',['vdo_h264_profile_get_type',['../vdo-types_8h.html#ad4d880aa1e63aac12f6f1f50a5240cc4',1,'vdo-types.h']]], + ['vdo_5fh265_5fprofile_5fget_5ftype',['vdo_h265_profile_get_type',['../vdo-types_8h.html#a2c0d157e8a53ef009e50892816ac6395',1,'vdo-types.h']]], + ['vdo_5fmap_5fclear',['vdo_map_clear',['../vdo-map_8h.html#ab942ab99d8733221a504807227c55c78',1,'vdo-map.h']]], + ['vdo_5fmap_5fcontains',['vdo_map_contains',['../vdo-map_8h.html#afba46021d63a6747ecd968146a8bfc93',1,'vdo-map.h']]], + ['vdo_5fmap_5fcontains_5fstrv',['vdo_map_contains_strv',['../vdo-map_8h.html#a397c60eee7105ce0456631730efecc7d',1,'vdo-map.h']]], + ['vdo_5fmap_5fcontains_5fva',['vdo_map_contains_va',['../vdo-map_8h.html#a42ac1e89a17531cf65c7f565964b7cdc',1,'vdo-map.h']]], + ['vdo_5fmap_5fcopy_5fvalue',['vdo_map_copy_value',['../vdo-map_8h.html#a3e70b811f3d1a740ade5da5ab9b14ae1',1,'vdo-map.h']]], + ['vdo_5fmap_5fdump',['vdo_map_dump',['../vdo-map_8h.html#a98b42a54524038a2067ef2c7015c070b',1,'vdo-map.h']]], + ['vdo_5fmap_5fempty',['vdo_map_empty',['../vdo-map_8h.html#a41324ec82e93a622f9073cf708a8545e',1,'vdo-map.h']]], + ['vdo_5fmap_5fentry_5fequals',['vdo_map_entry_equals',['../vdo-map_8h.html#aaa6e51fbb022e4e93a81ccb90a04bf0d',1,'vdo-map.h']]], + ['vdo_5fmap_5fentry_5fupdates',['vdo_map_entry_updates',['../vdo-map_8h.html#aa7b72ff14146c0dacad2df0fd89bc8bf',1,'vdo-map.h']]], + ['vdo_5fmap_5fequals',['vdo_map_equals',['../vdo-map_8h.html#a2c2af191d0695a8e3378fd8e591e7cbd',1,'vdo-map.h']]], + ['vdo_5fmap_5fequals_5fstrv',['vdo_map_equals_strv',['../vdo-map_8h.html#a722f30a129cde74492e81a1fe9916315',1,'vdo-map.h']]], + ['vdo_5fmap_5fequals_5fva',['vdo_map_equals_va',['../vdo-map_8h.html#ae64f48740633752ef626fcd816ee7e2c',1,'vdo-map.h']]], + ['vdo_5fmap_5ffilter_5fprefix',['vdo_map_filter_prefix',['../vdo-map_8h.html#a554346235c2d16315168df26111209cc',1,'vdo-map.h']]], + ['vdo_5fmap_5ffilter_5fstrv',['vdo_map_filter_strv',['../vdo-map_8h.html#a6b07a53b38a5c1bdd241dd2571a72d3c',1,'vdo-map.h']]], + ['vdo_5fmap_5ffilter_5fva',['vdo_map_filter_va',['../vdo-map_8h.html#ae3ef19a1de979e9cebf07bab998fdbbb',1,'vdo-map.h']]], + ['vdo_5fmap_5fget_5fvariant',['vdo_map_get_variant',['../vdo-map_8h.html#aabc08661f5f0694f7c1abeff6fd36e8a',1,'vdo-map.h']]], + ['vdo_5fmap_5fmerge',['vdo_map_merge',['../vdo-map_8h.html#ae3d064d00161bf66423fa7f86b8b1d87',1,'vdo-map.h']]], + ['vdo_5fmap_5fnew',['vdo_map_new',['../vdo-map_8h.html#a98b0e304d19d397003f2cc0c774cc33f',1,'vdo-map.h']]], + ['vdo_5fmap_5fnew_5ffrom_5fvariant',['vdo_map_new_from_variant',['../vdo-map_8h.html#a0ad8cdd1aba3ec6625fb869616fae7f4',1,'vdo-map.h']]], + ['vdo_5fmap_5fremove',['vdo_map_remove',['../vdo-map_8h.html#a6f649828e6de0e8147db2a0e741de978',1,'vdo-map.h']]], + ['vdo_5fmap_5fremove_5fstrv',['vdo_map_remove_strv',['../vdo-map_8h.html#af30b5fa0b0dd6f0b0cf9e0417902a8b4',1,'vdo-map.h']]], + ['vdo_5fmap_5fremove_5fva',['vdo_map_remove_va',['../vdo-map_8h.html#aae33d38fc56612499cb66160ed8d0e54',1,'vdo-map.h']]], + ['vdo_5fmap_5fset_5fboolean',['vdo_map_set_boolean',['../vdo-map_8h.html#a8f15d4792608faaf3cae9534c71d2ba8',1,'vdo-map.h']]], + ['vdo_5fmap_5fsize',['vdo_map_size',['../vdo-map_8h.html#aa4f3655d8be32e7082f0a8b820ec0651',1,'vdo-map.h']]], + ['vdo_5fmap_5fswap',['vdo_map_swap',['../vdo-map_8h.html#a3d7c695daa085566e776e5c96dc3d7ee',1,'vdo-map.h']]], + ['vdo_5fmap_5fto_5fvariant',['vdo_map_to_variant',['../vdo-map_8h.html#ab9f13fade87567e16bc0b60d801282a7',1,'vdo-map.h']]], + ['vdo_5frate_5fcontrol_5fmode_5fget_5ftype',['vdo_rate_control_mode_get_type',['../vdo-types_8h.html#a3fe88561a9c29743218a47089fda4e8e',1,'vdo-types.h']]], + ['vdo_5frate_5fcontrol_5fpriority_5fget_5ftype',['vdo_rate_control_priority_get_type',['../vdo-types_8h.html#a3a1aee2a6ad15ed02963fce85557a4c4',1,'vdo-types.h']]], + ['vdo_5fstream_5fattach',['vdo_stream_attach',['../vdo-stream_8h.html#aba5b4264502272caae02a621f3bad63c',1,'vdo-stream.h']]], + ['vdo_5fstream_5fbuffer_5falloc',['vdo_stream_buffer_alloc',['../vdo-stream_8h.html#a18ff54d35650a8fa4a00da2198b4b2d3',1,'vdo-stream.h']]], + ['vdo_5fstream_5fbuffer_5fenqueue',['vdo_stream_buffer_enqueue',['../vdo-stream_8h.html#a897b1e6d50e00aa8974511b4625cbad3',1,'vdo-stream.h']]], + ['vdo_5fstream_5fbuffer_5funref',['vdo_stream_buffer_unref',['../vdo-stream_8h.html#a5c13ae89ffee889aebf1a9b6c3bc3594',1,'vdo-stream.h']]], + ['vdo_5fstream_5fforce_5fkey_5fframe',['vdo_stream_force_key_frame',['../vdo-stream_8h.html#a32ba781b100c13c7b70e0f700bbce268',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget',['vdo_stream_get',['../vdo-stream_8h.html#a07e12d4c5d79563413711dcdc6085171',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fall',['vdo_stream_get_all',['../vdo-stream_8h.html#ac21dc2bb1e463b20cca05213739e505c',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fbuffer',['vdo_stream_get_buffer',['../vdo-stream_8h.html#a021f68451699a9ca04aa0e67d9b2917e',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fevent',['vdo_stream_get_event',['../vdo-stream_8h.html#af416bd3ec1edf4055c554e0f78b7b9f9',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fevent_5ffd',['vdo_stream_get_event_fd',['../vdo-stream_8h.html#acbdc222c597329e543ba85f330526b12',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5ffd',['vdo_stream_get_fd',['../vdo-stream_8h.html#a81faad176c49398f0a0b9826fb7c31f8',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fid',['vdo_stream_get_id',['../vdo-stream_8h.html#afbd3cb015a9d186123d534068db46749',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5finfo',['vdo_stream_get_info',['../vdo-stream_8h.html#a6368c8c989cbea997947d433dce6a3cb',1,'vdo-stream.h']]], + ['vdo_5fstream_5fget_5fsettings',['vdo_stream_get_settings',['../vdo-stream_8h.html#ad1279257f13b9a406a0df2558f10123e',1,'vdo-stream.h']]], + ['vdo_5fstream_5fnew',['vdo_stream_new',['../vdo-stream_8h.html#a36fa0021eb58d482c494163db9b22b61',1,'vdo-stream.h']]], + ['vdo_5fstream_5fset_5fframerate',['vdo_stream_set_framerate',['../vdo-stream_8h.html#af43f6acfe327b99037ea1e046788e7b5',1,'vdo-stream.h']]], + ['vdo_5fstream_5fset_5fsettings',['vdo_stream_set_settings',['../vdo-stream_8h.html#affa9aec868d9c2fd1f39f44aa63adaf2',1,'vdo-stream.h']]], + ['vdo_5fstream_5fsnapshot',['vdo_stream_snapshot',['../vdo-stream_8h.html#a4b4c0f2124280bde265491c08bd2f47c',1,'vdo-stream.h']]], + ['vdo_5fstream_5fstart',['vdo_stream_start',['../vdo-stream_8h.html#a5a366f51af1a7171a6739d191ca1e113',1,'vdo-stream.h']]], + ['vdo_5fstream_5fstop',['vdo_stream_stop',['../vdo-stream_8h.html#a5e28776ff99b3ecf0b996630eacb4f89',1,'vdo-stream.h']]], + ['vdo_5fstream_5fto_5ffd',['vdo_stream_to_fd',['../vdo-stream_8h.html#aa327d3bc31376dd3edebc15a4491a13e',1,'vdo-stream.h']]], + ['vdo_5fwdr_5fmode_5fget_5ftype',['vdo_wdr_mode_get_type',['../vdo-types_8h.html#acca84d091767d5f50187ce875f7f9c3b',1,'vdo-types.h']]], + ['vdo_5fzipstream_5fprofile_5fget_5ftype',['vdo_zipstream_profile_get_type',['../vdo-types_8h.html#a97294a2b495a86da118ff5c9330b0605',1,'vdo-types.h']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/mag_sel.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17 GIT binary patch literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/nomatches.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/pages_0.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/pages_0.html new file mode 100644 index 0000000..4955b9e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/pages_0.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/pages_0.js new file mode 100644 index 0000000..038da54 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['deprecated_20list',['Deprecated List',['../deprecated.html',1,'']]] +]; diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search.css b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search.css new file mode 100644 index 0000000..7739c2d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #CDCBC6; + background-color: #FCFCFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #959288; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #F7F7F6; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #9B988F; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #9B988F; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F8F8F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search_r.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a GIT binary patch literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000-{AmhX=Jf@Vh8?%HHL>wOK z?@H0TyM=Xn*#xUEQ@s{+=$&njs9Dd|Yq6zUpmg%Nn@QYymdKI;Vst0CM(>;Q#;t literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoChunk.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoChunk.html new file mode 100644 index 0000000..fe71be3 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoChunk.html @@ -0,0 +1,108 @@ + + + + + + + +libvdo: VdoChunk Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    VdoChunk Struct Reference
    +
    +
    + +

    A video chunk. + More...

    + +

    #include <vdo-types.h>

    +

    Detailed Description

    +

    A video chunk.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoMemChunk.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoMemChunk.html new file mode 100644 index 0000000..39a5868 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoMemChunk.html @@ -0,0 +1,108 @@ + + + + + + + +libvdo: VdoMemChunk Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    VdoMemChunk Struct Reference
    +
    +
    + +

    A memory chunk. + More...

    + +

    #include <vdo-types.h>

    +

    Detailed Description

    +

    A memory chunk.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoRect.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoRect.html new file mode 100644 index 0000000..7a26468 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoRect.html @@ -0,0 +1,108 @@ + + + + + + + +libvdo: VdoRect Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    VdoRect Struct Reference
    +
    +
    + +

    A rectangle. + More...

    + +

    #include <vdo-types.h>

    +

    Detailed Description

    +

    A rectangle.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolution.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolution.html new file mode 100644 index 0000000..985bb43 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolution.html @@ -0,0 +1,108 @@ + + + + + + + +libvdo: VdoResolution Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    VdoResolution Struct Reference
    +
    +
    + +

    A resolution. + More...

    + +

    #include <vdo-types.h>

    +

    Detailed Description

    +

    A resolution.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet.html new file mode 100644 index 0000000..e904144 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet.html @@ -0,0 +1,115 @@ + + + + + + + +libvdo: VdoResolutionSet Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    VdoResolutionSet Struct Reference
    +
    +
    + +

    A set of resolutions. + More...

    + +

    #include <vdo-types.h>

    +
    +Collaboration diagram for VdoResolutionSet:
    +
    +
    Collaboration graph
    + + +
    [legend]
    +

    Detailed Description

    +

    A set of resolutions.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.dot new file mode 100644 index 0000000..573af5b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.dot @@ -0,0 +1,8 @@ +digraph "VdoResolutionSet" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="VdoResolutionSet",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node2 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" resolutions" ,fontname="Helvetica"]; + Node2 [label="VdoResolution",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structVdoResolution.html",tooltip="A resolution. "]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.md5 new file mode 100644 index 0000000..e2774ba --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.md5 @@ -0,0 +1 @@ +941ec7f6c6ab381583a4de114802d056 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/sync_off.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..c0c6a81ebb34c5d133f73777319ce710f108d8ab GIT binary patch literal 831 zcmV-F1Hk-=P)|!W*BM9QI^kP>c zDB>=6qtF`%>p&FT)Y?s|rIxKsnJ68a7;B@?ljS7moSu|cygj@>@}6_TdET$*eQ#Y8 z*M0&hr%CJ*Bce~#3%7VG?uuW8WC*oHibfk~@9d$Yt2fWM+NItc zZ!OK0*GD3mBHpsyvUD{-RBK&5Njkd{xZT$AtO?Z;+Zv}S)=YJEP4Rh5?(Hph$&|LV zwv$W^JvSy>1Gu#2_iq4L)y*5f-nEiW(gXy#AmAJ3Zqa#sg@(j4H)KMSPOujuYgO6#g+PRb@zas6vAr|;k4 z`LllkOPSOj= z6(^{|h0o`I`#O_xOw~${hg>d4PKF1-=4U;ui~w7O&P-_?0(`hPg#^B3YpOAOveLd7KLA+D?}cNtws2_J8v$T9 zA-)otQ$VSdJHe)eM(z>&#F)_SRSyyk_)Cc`AtNs79wW?Lv&A(a;EQV_(2D7X;>X;*dO zsuWs8mu?iYQ7~Nzwk9zui6IRtRVtB)nK7oB_MCBE=Dp_|Ni^Hb`7w_-k9Y37_uPB8 zu90h304iw|d&Mr%C+dYqJQHK$cX3@z0XV4waIj6B6vL%!z!G||r}Y1#xFpVsS-=ub z3HFH#A_1@lo5f-Ar8p*jGymxZ%<+x5x{jBdTdnw29Iuq%3-QZ)h7DjXeh}Z;6KM9I zH{j()J1;uT2~LSPfD@nJ4`AV`(qaN|6clHKOB2Mzw*c>OxeCctKe5JU0E=)qLaHw- zi7I~dSNav2U`U?_Ea49X=+AuaZrC29P*?%5SYBSHuC9UX;BJDU5P*|mO|S>BL^x8* zX9K&5)H*Ezz!ag-Rx;ULL?s!3&5$O@nD4~m&GhvTP+hI%{kBD;4RmxR>Fn+;>JTl7 zw(=bL{G`$u60JJ{OVnzDs4;2X$uwQvDLfwQxPB6@A>NdrG2T)X7xo^zWI9{hI!I>* z@%nu8#$;;(m+?R#unFL!_`E*cZqL$cV%h8-$nWa6wYGPX__Q4;M?RlpX=&+gPo({) z3r4CZ7_?6AlgD%1pB$H>C>XaMX@bjg@wNHE`i33FvGz)Dv`tUlV|Hd5C`Y&^QY-{* zD=RBJoVw54Uo(Iu#&obp?FpX#{e)a@k)GbP^m2>L$-9fnsDJ&s$-8%$fBp}E-Kc(n z4$mK=8nA>+7P`=0F1(N)>PVW(BU(oy(ayy9ZSuJsfRn5y&JP}kpLUuO=$t&GB&$8aRgw4oYt4yPqd3dSC8)J z03Yfnajw#d_M`Y-EC8&NF0K>esHNHt4j%w4@n`AStSKED_D%rUjfg`+*A!5WN}KtF x(9B7(U+fdQwdz5l315ll;%4ck#qkEP`yaw+ow>Gq_M!j)002ovPDHLkV1f&0h93X` literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_a.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..77d0b5c4d7f79ad8b1b79aee931f606f5489d182 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QX!r$jv*C{Z|7Qb9WdZ=)>WO{ z&f?W~WogNqh!=nRFa8L=NtJO=zD@?|J~{b q_n*d|y0LT4&pH>eH=i#0|7QxQWoGfJuv7z@&*16m=d#Wzp$Py6zc%my literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_b.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdbd99221ca006c171f1d5fe50fb9179294fa77 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qn8*cjv*C{Z|~maZ8i{bPK>vH zxyoZji`Nr=w{kx*&AVq#^Cv{?d;ZGRpd|1k5+hn73Sh_AZ&v-DMw~ffg}%y85}Sb4q9e0Df>e A<^TWy literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_h.png b/docs/acap-sdk-version-3/api/src/api/vdostream/html/tab_h.png new file mode 100644 index 0000000000000000000000000000000000000000..d54def418b82b93eef9bb43b87a4421747303b58 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QmLLUjv*C{Z|6Gl9ai9B$<_bT zJ5|VZs)foyhl(7&li4dAEx(AazS#4ZYuEbVJ@uW%d|Sn2RQbIEpNR0fdRb3;cfs#Y zONYSj=y172t0uY4tNea{o5TM1o%de5lq}rdbnV~nt3AIo*uBJBCvJWq+x|f0 zpv=Ue19E=_nx&h{Khzz4#$%TKV2v1CS!nY`li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h.html new file mode 100644 index 0000000..422441e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h.html @@ -0,0 +1,493 @@ + + + + + + + +libvdo: vdo-buffer.h File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    vdo-buffer.h File Reference
    +
    +
    + +

    A memory buffer. +More...

    +
    #include "vdo-frame.h"
    +
    +Include dependency graph for vdo-buffer.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    VdoBuffer * vdo_buffer_new (gint fd, gsize capacity, guint64 offset, gpointer opaque)
     Create a buffer which is owned by an external framework. More...
     
    VdoBuffer * vdo_buffer_new_full (gint fd, gsize capacity, guint64 offset, gpointer opaque, VdoMap *settings)
     Create a buffer with custom buffer properties. More...
     
    guint32 vdo_buffer_get_id (VdoBuffer *self)
     Returns an id representing the VdoBuffer. More...
     
    gint vdo_buffer_get_fd (VdoBuffer *self)
     Returns a file descriptor representing the VdoBuffer. More...
     
    gint64 vdo_buffer_get_offset (VdoBuffer *self)
     Returns file offset to the VdoBuffer. More...
     
    gsize vdo_buffer_get_capacity (VdoBuffer *self)
     Returns the entire buffer capacity of the VdoBuffer. More...
     
    gboolean vdo_buffer_is_complete (VdoBuffer *self)
     Indicates whether the buffer is complete or not. More...
     
    gpointer vdo_buffer_get_opaque (VdoBuffer *self)
     Opaque pointers contain user provided custom information. More...
     
    gpointer vdo_buffer_get_data (VdoBuffer *self)
     Returns a pointer to the underlying buffer. More...
     
    VdoFramevdo_buffer_get_frame (VdoBuffer *self)
     Returns a pointer to the underlying frame. More...
     
    +

    Detailed Description

    +

    A memory buffer.

    +

    Copyright (C) 2018-2019, Axis Communications AB, Lund

    +

    Function Documentation

    + +

    ◆ vdo_buffer_get_capacity()

    + +
    +
    + + + + + + + + +
    gsize vdo_buffer_get_capacity (VdoBuffer * self)
    +
    + +

    Returns the entire buffer capacity of the VdoBuffer.

    +

    For alignment purposes the buffer may be larger than requested.

    +
    Parameters
    + + +
    selfA VdoBuffer.
    +
    +
    +
    Returns
    Capacity of the buffer in bytes.
    + +
    +
    + +

    ◆ vdo_buffer_get_data()

    + +
    +
    + + + + + + + + +
    gpointer vdo_buffer_get_data (VdoBuffer * self)
    +
    + +

    Returns a pointer to the underlying buffer.

    +

    Beware this pointer is only valid for as long as the VdoBuffer itself is valid.

    +
    Parameters
    + + +
    selfA VdoBuffer.
    +
    +
    +
    Returns
    A pointer to the buffer data or NULL if allocation failed.
    + +
    +
    + +

    ◆ vdo_buffer_get_fd()

    + +
    +
    + + + + + + + + +
    gint vdo_buffer_get_fd (VdoBuffer * self)
    +
    + +

    Returns a file descriptor representing the VdoBuffer.

    +
    Parameters
    + + +
    selfA VdoBuffer.
    +
    +
    +
    Returns
    A file descriptor or -1 on error.
    + +
    +
    + +

    ◆ vdo_buffer_get_frame()

    + +
    +
    + + + + + + + + +
    VdoFrame* vdo_buffer_get_frame (VdoBuffer * self)
    +
    + +

    Returns a pointer to the underlying frame.

    +

    Beware this pointer is only valid for as long as the VdoBuffer itself is valid.

    +
    while (1) {
    VdoBuffer *buffer = vdo_stream_get_buffer(stream, &error);
    VdoFrame *frame = vdo_buffer_get_frame(buffer);
    if (!frame) { // An error occurred
    // Only log unexpected errors (ignore server maintenance etc.)
    if (!vdo_error_is_expected(&error))
    fprintf(stderr, "%s\n", err->message);
    // Exit and try to create a new stream
    break;
    }
    // Extract the timestamp from the frame
    uint64_t timestamp = vdo_frame_get_timestamp(frame);
    g_object_unref(buffer); // Both 'buffer' and 'frame' are now invalid
    }
    Parameters
    + + +
    selfA VdoBuffer or NULL
    +
    +
    +
    Returns
    A pointer to the frame or NULL if self was NULL
    + +
    +
    + +

    ◆ vdo_buffer_get_id()

    + +
    +
    + + + + + + + + +
    guint32 vdo_buffer_get_id (VdoBuffer * self)
    +
    + +

    Returns an id representing the VdoBuffer.

    +

    The id is not guaranteed to be globally unique.

    +
    Parameters
    + + +
    selfA VdoBuffer.
    +
    +
    +
    Returns
    The id.
    + +
    +
    + +

    ◆ vdo_buffer_get_offset()

    + +
    +
    + + + + + + + + +
    gint64 vdo_buffer_get_offset (VdoBuffer * self)
    +
    + +

    Returns file offset to the VdoBuffer.

    +
    Parameters
    + + +
    selfA VdoBuffer.
    +
    +
    +
    Returns
    The file offset.
    + +
    +
    + +

    ◆ vdo_buffer_get_opaque()

    + +
    +
    + + + + + + + + +
    gpointer vdo_buffer_get_opaque (VdoBuffer * self)
    +
    + +

    Opaque pointers contain user provided custom information.

    +

    The opaque pointer has no predefined meaning inside the vdo framework itself, it is meant to facilitate interoperability with other existing frameworks as well as caching the buffer data pointer(see vdo_buffer_get_data).

    +
    typedef struct {
    gpointer buffer_data;
    size_t framework_data;
    } external_framework_t;
    // Allocate and Enqueue a Buffer
    external_framework_t *opaque_in = g_new0(external_framework_t, 1);
    VdoBuffer *buffer_in = vdo_stream_buffer_alloc(stream, opaque_in, NULL);
    opaque_in->buffer_data = vdo_buffer_get_data(buffer_in);
    opaque_in->framework_data = 0x12345678;
    vdo_stream_buffer_enqueue(stream, buffer_in);
    // Retrieve filled Buffer
    VdoBuffer *buffer_out = vdo_stream_get_buffer(stream, NULL);
    external_framework_t *opaque_out = vdo_frame_get_opaque(buffer_out);
    assert(opaque_in == opaque_out);
    Parameters
    + + +
    selfA VdoBuffer.
    +
    +
    +
    Returns
    A pointer to the opaque user provided information
    + +
    +
    + +

    ◆ vdo_buffer_is_complete()

    + +
    +
    + + + + + + + + +
    gboolean vdo_buffer_is_complete (VdoBuffer * self)
    +
    + +

    Indicates whether the buffer is complete or not.

    +

    As the size of compressed objects is not known in advance they may have to span multiple buffers. As soon as an entire object has arrived it will be indicated by TRUE.

    +
    size_t number_of_frames = 0;
    while (1) {
    VdoBuffer *buffer = vdo_stream_get_buffer(stream, &error);
    number_of_frames += 1;
    g_object_unref(buffer);
    }
    Parameters
    + + +
    selfA VdoBuffer.
    +
    +
    +
    Returns
    TRUE means complete, FALSE means incomplete
    + +
    +
    + +

    ◆ vdo_buffer_new()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VdoBuffer* vdo_buffer_new (gint fd,
    gsize capacity,
    guint64 offset,
    gpointer opaque 
    )
    +
    + +

    Create a buffer which is owned by an external framework.

    +

    Default: VDO_BUFFER_ACCESS_CPU_RD (suitable for normal consumers) The fd will not be closed by g_object_unref.

    +
    Parameters
    + + + + + +
    fdA mmap compatible file descriptor
    capacityThe buffer capacity
    offsetThe offset to the start of the buffer
    opaqueThe opaque custom information associated with the buffer
    +
    +
    +
    Returns
    A VdoBuffer. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_buffer_new_full()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VdoBuffer* vdo_buffer_new_full (gint fd,
    gsize capacity,
    guint64 offset,
    gpointer opaque,
    VdoMapsettings 
    )
    +
    + +

    Create a buffer with custom buffer properties.

    +

    Default: VDO_BUFFER_ACCESS_ANY_RW (suitable for producers) The fd will not be closed by g_object_unref.

    +
    VdoMap *settings = vdo_map_new();
    vdo_map_set_uint32(settings, "buffer.access", VDO_BUFFER_ACCESS_ANY_RW);
    VdoBuffer *buffer = vdo_buffer_new_full(fd, capacity, 0, NULL, settings);
    Parameters
    + + + + + + +
    fdA mmap compatible file descriptor
    capacityThe buffer capacity
    offsetThe offset to the start of the buffer
    opaqueThe opaque custom information associated with the buffer
    settingsOverride default buffer properties such as VdoBufferAccess
    +
    +
    +
    Returns
    A VdoBuffer. Free with g_object_unref().
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h.js new file mode 100644 index 0000000..9195549 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h.js @@ -0,0 +1,13 @@ +var vdo_buffer_8h = +[ + [ "vdo_buffer_get_capacity", "vdo-buffer_8h.html#a7c5d9bc38c54bb580dab91542ddf3aa2", null ], + [ "vdo_buffer_get_data", "vdo-buffer_8h.html#a3d39e2466d23b62e52a0fbfd10a968a3", null ], + [ "vdo_buffer_get_fd", "vdo-buffer_8h.html#ae10562fcb528fc9337767556d6904da8", null ], + [ "vdo_buffer_get_frame", "vdo-buffer_8h.html#a5367ff8edb99976f0b22a2809d44c097", null ], + [ "vdo_buffer_get_id", "vdo-buffer_8h.html#a5e5ecb68a24fedece4e2b3afb0cac3a7", null ], + [ "vdo_buffer_get_offset", "vdo-buffer_8h.html#a00af1cf2ead704a04ca611a7a5f4213c", null ], + [ "vdo_buffer_get_opaque", "vdo-buffer_8h.html#a231bbe5da68795986d481253c879bc11", null ], + [ "vdo_buffer_is_complete", "vdo-buffer_8h.html#ab0826cd3642b0cf662c69d84cbaaa2a0", null ], + [ "vdo_buffer_new", "vdo-buffer_8h.html#ad35e3382fa9f9bb4024af62cec90b034", null ], + [ "vdo_buffer_new_full", "vdo-buffer_8h.html#a097843481f6052a45fa46a6ca359750a", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.dot new file mode 100644 index 0000000..ff5f435 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.dot @@ -0,0 +1,8 @@ +digraph "vdo-buffer.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node6 [label="vdo-buffer.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node6 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vdo-stream.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-stream_8h.html",tooltip="A class representing a stream session. "]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.md5 new file mode 100644 index 0000000..a6d9ec7 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.md5 @@ -0,0 +1 @@ +e98762770c1cb4bd7106da57f52e0e37 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__incl.dot new file mode 100644 index 0000000..81431ea --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__incl.dot @@ -0,0 +1,17 @@ +digraph "vdo-buffer.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="vdo-buffer.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node0 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="vdo-frame.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-frame_8h.html",tooltip="A video frame. "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="vdo-map.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-map_8h.html",tooltip="A class representing a dictionary mapping keys to values. "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="glib-object.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="vdo-types.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-types_8h.html",tooltip="Vdo common type definitions. "]; + Node4 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="gio/gio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__incl.md5 new file mode 100644 index 0000000..11de37b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h__incl.md5 @@ -0,0 +1 @@ +2a44876a8828e9155debe50c512c9d85 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h_source.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h_source.html new file mode 100644 index 0000000..fd673dc --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-buffer_8h_source.html @@ -0,0 +1,111 @@ + + + + + + + +libvdo: vdo-buffer.h Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    vdo-buffer.h
    +
    +
    +Go to the documentation of this file.
    1 
    10 #ifndef __VDO_BUFFER_H__
    11 #define __VDO_BUFFER_H__
    12 
    13 #include "vdo-frame.h"
    14 
    15 G_BEGIN_DECLS
    16 
    17 typedef VdoFrame VdoBuffer;
    18 G_DEFINE_AUTOPTR_CLEANUP_FUNC(VdoBuffer, g_object_unref)
    19 
    20 typedef void(*VdoBufferFinalizer)(VdoBuffer *self);
    21 
    35 VdoBuffer *vdo_buffer_new(gint fd, gsize capacity, guint64 offset, gpointer opaque);
    36 
    58 VdoBuffer *vdo_buffer_new_full(gint fd, gsize capacity, guint64 offset, gpointer opaque,
    59  VdoMap *settings);
    60 
    70 guint32 vdo_buffer_get_id(VdoBuffer *self);
    71 
    79 gint vdo_buffer_get_fd(VdoBuffer *self);
    80 
    88 gint64 vdo_buffer_get_offset(VdoBuffer *self);
    89 
    99 gsize vdo_buffer_get_capacity(VdoBuffer *self);
    100 
    122 gboolean vdo_buffer_is_complete(VdoBuffer *self);
    123 
    157 gpointer vdo_buffer_get_opaque(VdoBuffer *self);
    158 
    168 gpointer vdo_buffer_get_data(VdoBuffer *self);
    169 
    198 VdoFrame *vdo_buffer_get_frame(VdoBuffer *self);
    199 
    200 G_END_DECLS
    201 
    202 #endif
    A class representing a dictionary mapping keys to values.
    +
    VdoBuffer * vdo_buffer_new_full(gint fd, gsize capacity, guint64 offset, gpointer opaque, VdoMap *settings)
    Create a buffer with custom buffer properties.
    +
    guint32 vdo_buffer_get_id(VdoBuffer *self)
    Returns an id representing the VdoBuffer.
    +
    gint vdo_buffer_get_fd(VdoBuffer *self)
    Returns a file descriptor representing the VdoBuffer.
    +
    gsize vdo_buffer_get_capacity(VdoBuffer *self)
    Returns the entire buffer capacity of the VdoBuffer.
    +
    gpointer vdo_buffer_get_opaque(VdoBuffer *self)
    Opaque pointers contain user provided custom information.
    +
    gint64 vdo_buffer_get_offset(VdoBuffer *self)
    Returns file offset to the VdoBuffer.
    +
    VdoBuffer * vdo_buffer_new(gint fd, gsize capacity, guint64 offset, gpointer opaque)
    Create a buffer which is owned by an external framework.
    +
    A video frame.
    +
    A video frame.
    +
    VdoFrame * vdo_buffer_get_frame(VdoBuffer *self)
    Returns a pointer to the underlying frame.
    +
    gboolean vdo_buffer_is_complete(VdoBuffer *self)
    Indicates whether the buffer is complete or not.
    +
    gpointer vdo_buffer_get_data(VdoBuffer *self)
    Returns a pointer to the underlying buffer.
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h.html new file mode 100644 index 0000000..cb95941 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h.html @@ -0,0 +1,601 @@ + + + + + + + +libvdo: vdo-channel.h File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    vdo-channel.h File Reference
    +
    +
    + +

    A class representing a channel. +More...

    +
    #include "vdo-types.h"
    +#include "vdo-frame.h"
    +#include "vdo-map.h"
    +#include <glib-object.h>
    +
    +Include dependency graph for vdo-channel.h:
    +
    +
    + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    VdoChannelvdo_channel_get (guint channel_nbr, GError **error)
     Get an existing channel. More...
     
    GList * vdo_channel_get_all (GError **error)
     Gets all existing channels. More...
     
    GList * vdo_channel_get_filtered (VdoMap *filter, GError **error)
     Gets all existing channels matching a filter. More...
     
    VdoMapvdo_channel_get_info (VdoChannel *self, GError **error)
     Get the info for this channel. More...
     
    VdoMapvdo_channel_get_settings (VdoChannel *self, GError **error)
     Get the settings for this channel. More...
     
    gboolean vdo_channel_set_settings (VdoChannel *self, VdoMap *settings, GError **error)
     Update the settings for this channel. More...
     
    VdoMapvdo_channel_get_stream_profile (VdoChannel *self, const gchar *profile, VdoFormat format, GError **error)
     Query stream profile for the specified name, format and channel. More...
     
    VdoResolutionSetvdo_channel_get_resolutions (VdoChannel *self, VdoMap *filter, GError **error)
     Fetch all valid resolutions for a channel with specified stream format. More...
     
    guint vdo_channel_get_id (VdoChannel *self)
     
    gboolean vdo_channel_set_framerate (VdoChannel *self, gdouble framerate, GError **error)
     Update the framerate for the specified channel. More...
     
    +

    Detailed Description

    +

    A class representing a channel.

    +

    A VdoChannel object is created in order to retrieve or control a video channel from the Vdo video service.

    +

    A VdoChannel represents the video from one sensor, or several sensors combined into a composite view. Every vdo stream has a channel as its source.

    +

    A VdoChannel supports the following generic settings. Settings are accessed by calling vdo_channel_get_settings() and vdo_channel_set_settings().

    +

    Crop Settings

    + + + + + + + + + + + + + + + +
    Name Type Description
    "crop.max_width" uint32 The width of the buffer we crop from, (crop.x + crop.width must be less than this)
    "crop.max_height" uint32 The height of the buffer we crop from, (crop.y + crop.height must be less than this)
    "crop.x" uint32 The x position of the crop
    "crop.y" uint32 The y position of the crop
    "crop.width" uint32 The width of the crop
    "crop.height" uint32 The height of the crop
    +

    User video settings

    + + + + + +
    Name Type Description
    "yuv.input.path" string Path to user video input file
    +

    A VdoChannel provides the following info. Info is obtained by calling vdo_channel_get_info().

    + + + + + + + + + + + +
    Name Type Description
    "mirror.possible" boolean Whether mirroring is possible on this channel
    "crop.possible" boolean Whether crop is possible on this channel
    "dptz.possible" boolean Whether dptz is possible on this channel
    "available_rotations" string Available rotations for this channel
    +

    Copyright (C) 2016-2018, Axis Communications AB, Lund

    +

    Function Documentation

    + +

    ◆ vdo_channel_get()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoChannel* vdo_channel_get (guint channel_nbr,
    GError ** error 
    )
    +
    + +

    Get an existing channel.

    +

    Create a new VdoChannel object representing an existing channel session with the specified channel number.

    +
    Parameters
    + + + +
    channel_nbrA channel number
    errorA location to return an error.
    +
    +
    +
    Returns
    A VdoChannel or NULL on error. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_channel_get_all()

    + +
    +
    + + + + + + + + +
    GList* vdo_channel_get_all (GError ** error)
    +
    + +

    Gets all existing channels.

    +

    Create new VdoChannel objects representing each existing channel and return those in a GList.

    +
    Parameters
    + + +
    errorA location to return an error.
    +
    +
    +
    Returns
    A GList containing VdoStream objects or NULL on error. Free with g_list_free_full(list, g_object_unref).
    + +
    +
    + +

    ◆ vdo_channel_get_filtered()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    GList* vdo_channel_get_filtered (VdoMapfilter,
    GError ** error 
    )
    +
    + +

    Gets all existing channels matching a filter.

    +

    Create new VdoChannel objects representing existing channels matching a filter and return those in a GList.

    +
    Parameters
    + + + +
    filterA VdoMap specifying filter or NULL for all channels.
    errorA location to return an error.
    +
    +
    +
    Returns
    A GList containing VdoStream objects or NULL on error. Free with g_list_free_full(list, g_object_unref).
    + +
    +
    + +

    ◆ vdo_channel_get_id()

    + +
    +
    + + + + + + + + +
    guint vdo_channel_get_id (VdoChannelself)
    +
    +

    vdo_channel_get_id: : The VdoChannel object to get id of

    +

    Returns: The id of the channel

    + +
    +
    + +

    ◆ vdo_channel_get_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoMap* vdo_channel_get_info (VdoChannelself,
    GError ** error 
    )
    +
    + +

    Get the info for this channel.

    +

    This function is called in order to get a pointer to the info map for this channel. The returned pointer is a pointer to a newly allocated VdoMap owned by the caller of this function. For example:

    +
    VdoMap *info = vdo_channel_get_info(channel, &error);
    guint value = vdo_map_get_uint32(info, "name", 0);
    g_object_unref(info);
    Parameters
    + + + +
    selfA VdoChannel.
    errorA location to return an error.
    +
    +
    +
    Returns
    A pointer to a VdoMap owned by this channel, or NULL if error is set. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_channel_get_resolutions()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    VdoResolutionSet* vdo_channel_get_resolutions (VdoChannelself,
    VdoMapfilter,
    GError ** error 
    )
    +
    + +

    Fetch all valid resolutions for a channel with specified stream format.

    +

    Get a VdoResolutionSet of valid resolutions.

    +
    Parameters
    + + + +
    errorA location to return an error.
    filterA VdoMap specifying filter or NULL for default.
    +
    +
    + + + + + + + + + + + + + +
    Name Type Description
    "format" uint32 Video stream format as VdoFormat.
    "subformat" string The subformat for streams in YUV format.
    "select" string Supports: "all", "min", "max", "minmax".
    "aspect_ratio" string Supports: "1:1", "4:3", "5:4", "16:9", "16:10", "native".
    "pixel.limit" uint32 The default pixel limit is tuned per platform (YUV Only).
    +
    Returns
    A VdoResolutionSet on success. NULL if error is set. Free with g_free.
    + +
    +
    + +

    ◆ vdo_channel_get_settings()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoMap* vdo_channel_get_settings (VdoChannelself,
    GError ** error 
    )
    +
    + +

    Get the settings for this channel.

    +

    This function is called in order to get a pointer to the settings map for this channel. The returned pointer is a pointer to a newly allocated VdoMap owned by the caller of this function. For example:

    +
    VdoMap *settings = vdo_channel_get_settings(channel, &error);
    guint value = vdo_map_get_uint32(settings, "name", 0);
    g_object_unref(settings);
    Parameters
    + + + +
    selfA VdoChannel.
    errorA location to return an error.
    +
    +
    +
    Returns
    A pointer to a VdoMap owned by this channel, or NULL if error is set. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_channel_get_stream_profile()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VdoMap* vdo_channel_get_stream_profile (VdoChannelself,
    const gchar * profile,
    VdoFormat format,
    GError ** error 
    )
    +
    + +

    Query stream profile for the specified name, format and channel.

    +

    The combination of profile and format is unique and may have different stream settings.

    +
    Parameters
    + + + + + +
    selfThe VdoChannel to query.
    profileThe name of the stream profile
    formatThe format of the stream profile.
    errorA location to return an error.
    +
    +
    +
    Returns
    A pointer to a VdoMap with profile settings, or NULL if error is set. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_channel_set_framerate()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_channel_set_framerate (VdoChannelself,
    gdouble framerate,
    GError ** error 
    )
    +
    + +

    Update the framerate for the specified channel.

    +

    This function is invoked in order to update the framerate of a channel. All streams that are connected to this channel may be changed. Only streams with a higher fps set than the channel framerate will be affected.

    +
    Parameters
    + + + + +
    selfThe VdoChannel to set framerate on.
    framerateA framerate.
    errorA location to return an error.
    +
    +
    +
    Returns
    TRUE on success, FALSE if error is set.
    + +
    +
    + +

    ◆ vdo_channel_set_settings()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_channel_set_settings (VdoChannelself,
    VdoMapsettings,
    GError ** error 
    )
    +
    + +

    Update the settings for this channel.

    +

    This function is invoked in order to update the settings of a channel. The caller owns the VdoMap containing the new/updated settings.

    +
    VdoMap *settings = vdo_map_new();
    vdo_map_set_uint32(settings, "name", value);
    if (!vdo_channel_set_settings(channel, settings, &error)) {
    g_error("Error: %s", error->message);
    }
    g_object_unref(settings);
    Parameters
    + + + + +
    selfA VdoChannel.
    settingsA VdoMap containing new/updated settings.
    errorA location to return an error.
    +
    +
    +
    Returns
    TRUE on success, FALSE if error is set.
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h.js new file mode 100644 index 0000000..05f667d --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h.js @@ -0,0 +1,18 @@ +var vdo_channel_8h = +[ + [ "vdo_channel_apply_alpha_blending", "vdo-channel_8h.html#a52f2e5a2fb71346ffd9d99e5511f16f4", null ], + [ "vdo_channel_destroy", "vdo-channel_8h.html#a656caa3bca9c3ad9b62d9d7235fd25ac", null ], + [ "vdo_channel_get", "vdo-channel_8h.html#ae5223c6a11ae8f3583457c4917a0b820", null ], + [ "vdo_channel_get_all", "vdo-channel_8h.html#ab1032730452f1617fd004f9aa46ded70", null ], + [ "vdo_channel_get_filtered", "vdo-channel_8h.html#a045ce99305ee3e07ce2a243a6fd28861", null ], + [ "vdo_channel_get_id", "vdo-channel_8h.html#a2ba1def293a637c15586eb871a586596", null ], + [ "vdo_channel_get_info", "vdo-channel_8h.html#a19ca10165dba07f8295cd0933bfcaa49", null ], + [ "vdo_channel_get_resolutions", "vdo-channel_8h.html#ab95177576e046dd6a42c9f87013089ec", null ], + [ "vdo_channel_get_settings", "vdo-channel_8h.html#a13a6f7939f63317f8b8798e9f3a75ea0", null ], + [ "vdo_channel_get_stream_profile", "vdo-channel_8h.html#a69e3ce84ef7bf204417794aeb8651ce0", null ], + [ "vdo_channel_new", "vdo-channel_8h.html#a9ac2294ffc2a27865bebb2eace887959", null ], + [ "vdo_channel_set_crop_dptz", "vdo-channel_8h.html#a2ca4f1d9ce1f84870c8f44671cbecac6", null ], + [ "vdo_channel_set_framerate", "vdo-channel_8h.html#a44e1103d8690783c53103d326e9da5e0", null ], + [ "vdo_channel_set_settings", "vdo-channel_8h.html#a3e17d1d5abf72b3c826a70284eb1ae99", null ], + [ "vdo_channel_set_stream_profile", "vdo-channel_8h.html#a6ebede6c00070e034ad419081596bed5", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h__incl.dot new file mode 100644 index 0000000..7a5bfe9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h__incl.dot @@ -0,0 +1,20 @@ +digraph "vdo-channel.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="vdo-channel.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node0 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="vdo-types.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-types_8h.html",tooltip="Vdo common type definitions. "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="glib-object.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; + Node0 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="vdo-frame.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-frame_8h.html",tooltip="A video frame. "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="vdo-map.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-map_8h.html",tooltip="A class representing a dictionary mapping keys to values. "]; + Node4 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="gio/gio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; + Node0 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node0 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h__incl.md5 new file mode 100644 index 0000000..bab2a94 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h__incl.md5 @@ -0,0 +1 @@ +ac37c4c20c6ba9c1b2d998ee6ebf067d \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h_source.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h_source.html new file mode 100644 index 0000000..6f06c21 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-channel_8h_source.html @@ -0,0 +1,115 @@ + + + + + + + +libvdo: vdo-channel.h Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    vdo-channel.h
    +
    +
    +Go to the documentation of this file.
    1 
    44 #ifdef __cplusplus
    45 extern "C" {
    46 #endif
    47 
    48 #ifndef __VDO_CHANNEL_H__
    49 #define __VDO_CHANNEL_H__
    50 
    51 #include "vdo-types.h"
    52 #include "vdo-frame.h"
    53 #include "vdo-map.h"
    54 
    55 #include <glib-object.h>
    56 
    61 #define VDO_TYPE_CHANNEL (vdo_channel_get_type())
    62 G_DECLARE_FINAL_TYPE(VdoChannel, vdo_channel, VDO, CHANNEL, GObject)
    63 
    64 
    75 VdoChannel *vdo_channel_get(guint channel_nbr, GError **error);
    76 
    88 GList *vdo_channel_get_all(GError **error);
    89 
    102 GList *vdo_channel_get_filtered(VdoMap *filter, GError **error);
    103 
    123 VdoMap *vdo_channel_get_info(VdoChannel *self, GError **error);
    124 
    144 VdoMap *vdo_channel_get_settings(VdoChannel *self, GError **error);
    145 
    167 gboolean vdo_channel_set_settings(VdoChannel *self, VdoMap *settings, GError **error);
    168 
    184  const gchar *profile,
    185  VdoFormat format,
    186  GError **error);
    187 
    206 VdoResolutionSet *vdo_channel_get_resolutions(VdoChannel *self, VdoMap *filter, GError **error);
    207 
    214 guint vdo_channel_get_id(VdoChannel *self);
    215 
    237 gboolean vdo_channel_set_stream_profile(VdoChannel *self,
    239  const gchar *profile,
    240  VdoFormat format,
    241  VdoMap *settings,
    242  GError **error);
    243 
    258 gboolean vdo_channel_set_crop_dptz(VdoChannel *self,
    260  guint x, guint y,
    261  guint width, guint height,
    262  GError **error);
    263 
    272 gboolean
    274 vdo_channel_apply_alpha_blending(VdoChannel *self,
    275  gint fd,
    276  GError **error);
    277 
    292 gboolean vdo_channel_set_framerate(VdoChannel *self, gdouble framerate,
    293  GError **error);
    294 
    304 VdoChannel* vdo_channel_new(guint id, VdoResolutionSet *resolution_set,
    306  VdoMap *info, GError **error);
    307 
    315 gboolean vdo_channel_destroy(VdoChannel *self, GError **error);
    317 #endif
    318 
    319 #ifdef __cplusplus
    320 }
    321 #endif
    guint vdo_channel_get_id(VdoChannel *self)
    +
    A channel.
    +
    VdoFormat
    Video formats.
    Definition: vdo-types.h:43
    +
    A class representing a dictionary mapping keys to values.
    +
    Vdo common type definitions.
    +
    VdoMap * vdo_channel_get_info(VdoChannel *self, GError **error)
    Get the info for this channel.
    +
    VdoResolutionSet * vdo_channel_get_resolutions(VdoChannel *self, VdoMap *filter, GError **error)
    Fetch all valid resolutions for a channel with specified stream format.
    +
    gboolean vdo_channel_set_framerate(VdoChannel *self, gdouble framerate, GError **error)
    Update the framerate for the specified channel.
    +
    A class representing a dictionary mapping keys to values.
    +
    VdoMap * vdo_channel_get_stream_profile(VdoChannel *self, const gchar *profile, VdoFormat format, GError **error)
    Query stream profile for the specified name, format and channel.
    +
    GList * vdo_channel_get_filtered(VdoMap *filter, GError **error)
    Gets all existing channels matching a filter.
    +
    VdoChannel * vdo_channel_get(guint channel_nbr, GError **error)
    Get an existing channel.
    +
    GList * vdo_channel_get_all(GError **error)
    Gets all existing channels.
    +
    VdoMap * vdo_channel_get_settings(VdoChannel *self, GError **error)
    Get the settings for this channel.
    +
    A video frame.
    +
    A set of resolutions.
    Definition: vdo-types.h:436
    +
    gboolean vdo_channel_set_settings(VdoChannel *self, VdoMap *settings, GError **error)
    Update the settings for this channel.
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h.html new file mode 100644 index 0000000..8c5c7cc --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h.html @@ -0,0 +1,226 @@ + + + + + + + +libvdo: vdo-error.h File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    vdo-error.h File Reference
    +
    +
    + +

    Definitions related to error reporting, e.g. error codes. +More...

    +
    #include <glib.h>
    +
    +Include dependency graph for vdo-error.h:
    +
    +
    + + +
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Macros

    +#define VDO_ERROR   (vdo_error_quark())
     Vdo error domain.
     
    + + + + +

    +Enumerations

    enum  
     Vdo error codes. More...
     
    + + + + +

    +Functions

    gboolean vdo_error_is_expected (GError **error)
     Check if error is expected. More...
     
    +

    Detailed Description

    +

    Definitions related to error reporting, e.g. error codes.

    +

    Copyright (C) 2016-2019, Axis Communications AB, Lund

    +

    Enumeration Type Documentation

    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + +

    Vdo error codes.

    + + + + + + + + + + + + + + + + + + + + + +
    Enumerator
    VDO_ERROR_NOT_FOUND 

    The requested resource is not found.

    +
    VDO_ERROR_EXISTS 

    The resource to be created already exists.

    +
    VDO_ERROR_INVALID_ARGUMENT 

    Invalid argument.

    +
    VDO_ERROR_PERMISSION_DENIED 

    Permission denied.

    +
    VDO_ERROR_NOT_SUPPORTED 

    The operation is not supported.

    +
    VDO_ERROR_CLOSED 

    The resource is closed.

    +
    VDO_ERROR_BUSY 

    The resource is busy.

    +
    VDO_ERROR_IO 

    I/O error.

    +
    VDO_ERROR_HAL 

    Hardware Abstraction Layer error.

    +
    VDO_ERROR_DBUS 

    D-Bus error.

    +
    VDO_ERROR_OOM 

    Out-of-memory.

    +
    VDO_ERROR_IDLE 

    Deprecated: Use VDO_ERROR_HAL instead.

    +
    VDO_ERROR_NO_DATA 

    No data(EAGAIN).

    +
    VDO_ERROR_NO_BUFFER_SPACE 

    Buffer is to small.

    +
    VDO_ERROR_BUFFER_FAILURE 

    Buffer handling error.

    +
    VDO_ERROR_INTERFACE_DOWN 

    D-Bus interface is shutdown.

    +
    VDO_ERROR_FAILED 

    Generic failure.

    +
    VDO_ERROR_FATAL 

    Fatal error.

    +
    VDO_ERROR_NOT_CONTROLLED 

    Not controlled, no changes can be made

    +
    VDO_ERROR_NO_EVENT 

    No event(EAGAIN).

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ vdo_error_is_expected()

    + +
    +
    + + + + + + + + +
    gboolean vdo_error_is_expected (GError ** error)
    +
    + +

    Check if error is expected.

    +

    Expected errors typically occur as a result of force stopping 'com.axis.Vdo1.System'. This class of errors should not be logged as failures, when they occur the recipient is expected to either silently recover or exit informing the user that vdo is currently unavailable.

    +
    Parameters
    + + +
    errora GError location.
    +
    +
    +
    Returns
    whether error is expected
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h.js new file mode 100644 index 0000000..af870e2 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h.js @@ -0,0 +1,25 @@ +var vdo_error_8h = +[ + [ "VDO_ERROR", "vdo-error_8h.html#ab532286ab8152c8b54884fded85dcaa8", null ], + [ "VDO_ERROR_NOT_FOUND", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55baf254b52ddbda5c7a76d537f24b50bf89", null ], + [ "VDO_ERROR_EXISTS", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8f453e570f61c07ce52092f9aebed870", null ], + [ "VDO_ERROR_INVALID_ARGUMENT", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55bab37c49a334b083220811df2b1c349baf", null ], + [ "VDO_ERROR_PERMISSION_DENIED", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4894c26cbc5adb3bd246714caa5a0511", null ], + [ "VDO_ERROR_NOT_SUPPORTED", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55baca4da8467985804683e79d1a61a6c8e0", null ], + [ "VDO_ERROR_CLOSED", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8101dbfcf1cb0f5623f5381a6196ad88", null ], + [ "VDO_ERROR_BUSY", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8cfed0ddabc1dab1f1742e73f16f4d94", null ], + [ "VDO_ERROR_IO", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55babb90db658ab07b0cfd94048ed939e056", null ], + [ "VDO_ERROR_HAL", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55baa986108fa7617fc0c3c5d19add71506b", null ], + [ "VDO_ERROR_DBUS", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55bae9fffadbe50af13d405ca72afd2a6b59", null ], + [ "VDO_ERROR_OOM", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba074571aa9c712946cdf410a391261587", null ], + [ "VDO_ERROR_IDLE", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4ec07db9ae153800243785fe365136c6", null ], + [ "VDO_ERROR_NO_DATA", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4685a995864823aca8721c82dc20cdf6", null ], + [ "VDO_ERROR_NO_BUFFER_SPACE", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba1e785885934567b2c64673fb93edd594", null ], + [ "VDO_ERROR_BUFFER_FAILURE", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba71bc0f390c1e5afe29a6b2b4aad05c1e", null ], + [ "VDO_ERROR_INTERFACE_DOWN", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba73de6c505d8856dc754501cbf7274e9f", null ], + [ "VDO_ERROR_FAILED", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba51294b5770b88ad90b2b6e152519af16", null ], + [ "VDO_ERROR_FATAL", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba32964f0d3ac47ad3d9226ac6b2ecf880", null ], + [ "VDO_ERROR_NOT_CONTROLLED", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba67c27d18bfa33f2984912adac8b849f3", null ], + [ "VDO_ERROR_NO_EVENT", "vdo-error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba9cd8a8a6ef280e192aeece78ff1ab0fa", null ], + [ "vdo_error_is_expected", "vdo-error_8h.html#ac748fae792da6c96a4cba4619a3a3d90", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h__incl.dot new file mode 100644 index 0000000..adfdd48 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h__incl.dot @@ -0,0 +1,8 @@ +digraph "vdo-error.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="vdo-error.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node0 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="glib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h__incl.md5 new file mode 100644 index 0000000..5589652 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h__incl.md5 @@ -0,0 +1 @@ +ce0c8aeb3d504b00d901b039ca894998 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h_source.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h_source.html new file mode 100644 index 0000000..d912abf --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-error_8h_source.html @@ -0,0 +1,119 @@ + + + + + + + +libvdo: vdo-error.h Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    vdo-error.h
    +
    +
    +Go to the documentation of this file.
    1 
    9 #ifndef __VDO_ERROR_H__
    10 #define __VDO_ERROR_H__
    11 
    12 #include <glib.h>
    13 
    14 G_BEGIN_DECLS
    15 
    19 #define VDO_ERROR (vdo_error_quark())
    20 
    24 enum {
    45 };
    46 
    47 GQuark vdo_error_quark(void);
    48 
    61 gboolean vdo_error_is_expected(GError **error);
    62 
    63 // Combine g_set_error(..., domain: VDO_ERROR, ...) with "goto exit_failure"
    64 #ifndef exit_failure
    65 #define exit_failure(error, ...) \
    66  *__extension__({g_set_error(error, VDO_ERROR, ##__VA_ARGS__); &&exit_failure;})
    67 #endif
    68 
    69 G_END_DECLS
    70 
    71 #endif
    Definition: vdo-error.h:41
    +
    Definition: vdo-error.h:42
    +
    Definition: vdo-error.h:37
    +
    Definition: vdo-error.h:44
    +
    Definition: vdo-error.h:36
    +
    Definition: vdo-error.h:28
    +
    Definition: vdo-error.h:30
    +
    Definition: vdo-error.h:31
    +
    Definition: vdo-error.h:38
    +
    Definition: vdo-error.h:43
    +
    Definition: vdo-error.h:32
    +
    Definition: vdo-error.h:33
    +
    Definition: vdo-error.h:29
    +
    gboolean vdo_error_is_expected(GError **error)
    Check if error is expected.
    +
    Definition: vdo-error.h:27
    +
    Definition: vdo-error.h:39
    +
    Definition: vdo-error.h:34
    +
    Definition: vdo-error.h:25
    +
    Definition: vdo-error.h:40
    +
    Definition: vdo-error.h:26
    +
    Definition: vdo-error.h:35
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h.html new file mode 100644 index 0000000..56c21b7 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h.html @@ -0,0 +1,856 @@ + + + + + + + +libvdo: vdo-frame.h File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    vdo-frame.h File Reference
    +
    +
    + +

    A video frame. +More...

    +
    #include "vdo-map.h"
    +#include "vdo-types.h"
    +#include <gio/gio.h>
    +
    +Include dependency graph for vdo-frame.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    VdoFrameType vdo_frame_get_frame_type (VdoFrame *self)
     Returns the type of this frame. More...
     
    guint vdo_frame_get_sequence_nbr (VdoFrame *self)
     Returns the sequence number of this frame. More...
     
    guint64 vdo_frame_get_timestamp (VdoFrame *self)
     Returns the timestamp of this frame. More...
     
    gint64 vdo_frame_get_custom_timestamp (VdoFrame *self)
     Returns a custom timestamp for this frame. More...
     
    gsize vdo_frame_get_size (VdoFrame *self)
     Returns the size of this frame. More...
     
    gssize vdo_frame_get_header_size (VdoFrame *self)
     Returns the size of any H264/H265 headers contained in this frame. More...
     
    gint vdo_frame_get_fd (VdoFrame *self)
     Returns a file descriptor for this frame. More...
     
    VdoMapvdo_frame_get_extra_info (VdoFrame *self)
     Returns the extra info of this frame. More...
     
    gpointer vdo_frame_get_opaque (VdoFrame *self)
     Returns a pointer to the opaque data of this frame. More...
     
    gboolean vdo_frame_get_is_last_buffer (VdoFrame *self)
     Tests whether this frame is last buffer. More...
     
    void vdo_frame_set_size (VdoFrame *self, gsize size)
     Sets the size of this frame. More...
     
    void vdo_frame_set_frame_type (VdoFrame *self, VdoFrameType type)
     Sets the type of this frame. More...
     
    void vdo_frame_set_sequence_nbr (VdoFrame *self, guint seqnum)
     Sets the sequence number of this frame. More...
     
    void vdo_frame_set_timestamp (VdoFrame *self, guint64 timestamp)
     Sets the timestamp of this frame. More...
     
    void vdo_frame_set_custom_timestamp (VdoFrame *self, gint64 timestamp)
     Returns a custom timestamp of this frame. More...
     
    void vdo_frame_set_is_last_buffer (VdoFrame *self, gboolean is_last_buffer)
     Marks this frame as last buffer. More...
     
    void vdo_frame_set_extra_info (VdoFrame *self, VdoMap *extra_info)
     Sets the extra info of this frame. More...
     
    void vdo_frame_set_header_size (VdoFrame *self, gssize size)
     Sets the header size of this frame, normally used for H26x frames. More...
     
    gpointer vdo_frame_memmap (VdoFrame *self)
     A convenience function that maps the frame into current process memory. More...
     
    void vdo_frame_unmap (VdoFrame *self)
     Unmaps the frame from current process memory. More...
     
    VdoChunk vdo_frame_take_chunk (VdoFrame *self, GError **error)
     Iterate buffer contents by chunks. More...
     
    +

    Detailed Description

    +

    A video frame.

    +

    Copyright (C) 2016-2019, Axis Communications AB, Lund

    +

    Function Documentation

    + +

    ◆ vdo_frame_get_custom_timestamp()

    + +
    +
    + + + + + + + + +
    gint64 vdo_frame_get_custom_timestamp (VdoFrameself)
    +
    + +

    Returns a custom timestamp for this frame.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    A custom timestamp for this frame as a gint64.
    + +
    +
    + +

    ◆ vdo_frame_get_extra_info()

    + +
    +
    + + + + + + + + +
    VdoMap* vdo_frame_get_extra_info (VdoFrameself)
    +
    + +

    Returns the extra info of this frame.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    The extra info of this frame as VdoMap
    + +
    +
    + +

    ◆ vdo_frame_get_fd()

    + +
    +
    + + + + + + + + +
    gint vdo_frame_get_fd (VdoFrameself)
    +
    + +

    Returns a file descriptor for this frame.

    +
    Deprecated:
    Use vdo_buffer_get_fd
    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    A unix file descriptor referring to the content of this frame.
    + +
    +
    + +

    ◆ vdo_frame_get_frame_type()

    + +
    +
    + + + + + + + + +
    VdoFrameType vdo_frame_get_frame_type (VdoFrameself)
    +
    + +

    Returns the type of this frame.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    The type of this frame as VdoFrameType
    + +
    +
    + +

    ◆ vdo_frame_get_header_size()

    + +
    +
    + + + + + + + + +
    gssize vdo_frame_get_header_size (VdoFrameself)
    +
    + +

    Returns the size of any H264/H265 headers contained in this frame.

    +

    This can be used as an offset into the frame data buffer to get the frame data without headers.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    The combined size of the H264/H265 headers, or -1 if the header size is unknown.
    + +
    +
    + +

    ◆ vdo_frame_get_is_last_buffer()

    + +
    +
    + + + + + + + + +
    gboolean vdo_frame_get_is_last_buffer (VdoFrameself)
    +
    + +

    Tests whether this frame is last buffer.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    TRUE if this frame is the last buffer, otherwise FALSE
    + +
    +
    + +

    ◆ vdo_frame_get_opaque()

    + +
    +
    + + + + + + + + +
    gpointer vdo_frame_get_opaque (VdoFrameself)
    +
    + +

    Returns a pointer to the opaque data of this frame.

    +
    Deprecated:
    Use vdo_buffer_get_opaque
    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    A pointer to the opaque data of this frame
    + +
    +
    + +

    ◆ vdo_frame_get_sequence_nbr()

    + +
    +
    + + + + + + + + +
    guint vdo_frame_get_sequence_nbr (VdoFrameself)
    +
    + +

    Returns the sequence number of this frame.

    +

    The returned sequence number is represented as an unsigned integer and starts at 0. The point where the sequence number counter wraps around is undefined.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    The sequence number of this frame as a guint.
    + +
    +
    + +

    ◆ vdo_frame_get_size()

    + +
    +
    + + + + + + + + +
    gsize vdo_frame_get_size (VdoFrameself)
    +
    + +

    Returns the size of this frame.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    The size of this frame in bytes.
    + +
    +
    + +

    ◆ vdo_frame_get_timestamp()

    + +
    +
    + + + + + + + + +
    guint64 vdo_frame_get_timestamp (VdoFrameself)
    +
    + +

    Returns the timestamp of this frame.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    The timestamp of this frame as a guint64.
    + +
    +
    + +

    ◆ vdo_frame_memmap()

    + +
    +
    + + + + + + + + +
    gpointer vdo_frame_memmap (VdoFrameself)
    +
    + +

    A convenience function that maps the frame into current process memory.

    +

    This function will map the full buffer size as opposed to the current frame size. This is due to the requirement of mapping complete buffer size when the frame buffers are backed by AXIS' vcrfs which is the case for monolith cache.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    +
    Returns
    A pointer to the mapped memory buffer
    + +
    +
    + +

    ◆ vdo_frame_set_custom_timestamp()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_frame_set_custom_timestamp (VdoFrameself,
    gint64 timestamp 
    )
    +
    + +

    Returns a custom timestamp of this frame.

    +
    Parameters
    + + + +
    selfA VdoFrame
    timestampThe new custom timestamp for this frame
    +
    +
    + +
    +
    + +

    ◆ vdo_frame_set_extra_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_frame_set_extra_info (VdoFrameself,
    VdoMapextra_info 
    )
    +
    + +

    Sets the extra info of this frame.

    +
    Parameters
    + + + +
    selfA VdoFrame
    extra_infoThe new extra info for this frame
    +
    +
    + +
    +
    + +

    ◆ vdo_frame_set_frame_type()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_frame_set_frame_type (VdoFrameself,
    VdoFrameType type 
    )
    +
    + +

    Sets the type of this frame.

    +
    Parameters
    + + + +
    selfA VdoFrame
    typeThe new type for this frame
    +
    +
    + +
    +
    + +

    ◆ vdo_frame_set_header_size()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_frame_set_header_size (VdoFrameself,
    gssize size 
    )
    +
    + +

    Sets the header size of this frame, normally used for H26x frames.

    +

    The headers size can be used as an offset into the frame data buffer to get the frame data without headers. A size set to -1 indicates that the header size is unknown.

    +
    Parameters
    + + + +
    selfA VdoFrame
    sizeThe combined size of the H264/H265 headers.
    +
    +
    + +
    +
    + +

    ◆ vdo_frame_set_is_last_buffer()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_frame_set_is_last_buffer (VdoFrameself,
    gboolean is_last_buffer 
    )
    +
    + +

    Marks this frame as last buffer.

    +
    Parameters
    + + + +
    selfA VdoFrame
    is_last_bufferIf TRUE, marks the frame as last buffer
    +
    +
    + +
    +
    + +

    ◆ vdo_frame_set_sequence_nbr()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_frame_set_sequence_nbr (VdoFrameself,
    guint seqnum 
    )
    +
    + +

    Sets the sequence number of this frame.

    +
    Parameters
    + + + +
    selfA VdoFrame
    seqnumThe new sequence number for this frame
    +
    +
    + +
    +
    + +

    ◆ vdo_frame_set_size()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_frame_set_size (VdoFrameself,
    gsize size 
    )
    +
    + +

    Sets the size of this frame.

    +
    Parameters
    + + + +
    selfA VdoFrame
    sizeThe new size in bytes for this frame
    +
    +
    + +
    +
    + +

    ◆ vdo_frame_set_timestamp()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_frame_set_timestamp (VdoFrameself,
    guint64 timestamp 
    )
    +
    + +

    Sets the timestamp of this frame.

    +
    Parameters
    + + + +
    selfA VdoFrame
    timestampThe new timestamp for this frame
    +
    +
    + +
    +
    + +

    ◆ vdo_frame_take_chunk()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoChunk vdo_frame_take_chunk (VdoFrameself,
    GError ** error 
    )
    +
    + +

    Iterate buffer contents by chunks.

    +
    while (1) {
    VdoChunk chunk = vdo_frame_take_chunk(frame, NULL);
    if (!chunk.data)
    break;
    }
    Parameters
    + + + +
    selfA VdoFrame
    errorA location to return an error.
    +
    +
    +
    Returns
    New chunks until VdoChunk.data equals NULL
    + +
    +
    + +

    ◆ vdo_frame_unmap()

    + +
    +
    + + + + + + + + +
    void vdo_frame_unmap (VdoFrameself)
    +
    + +

    Unmaps the frame from current process memory.

    +
    Parameters
    + + +
    selfA VdoFrame
    +
    +
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h.js new file mode 100644 index 0000000..ccb99b1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h.js @@ -0,0 +1,24 @@ +var vdo_frame_8h = +[ + [ "vdo_frame_get_custom_timestamp", "vdo-frame_8h.html#a49b2a8033b4fa5d1408e3e74e239e9e0", null ], + [ "vdo_frame_get_extra_info", "vdo-frame_8h.html#ad8fbd4f66680c4c4a70c7505065aa6ad", null ], + [ "vdo_frame_get_fd", "vdo-frame_8h.html#ab4bb3b7b0775ce6caee5172af24a16fd", null ], + [ "vdo_frame_get_frame_type", "vdo-frame_8h.html#a25ed8a15875a85a12b88b2cbabcbd9cb", null ], + [ "vdo_frame_get_header_size", "vdo-frame_8h.html#a7d465baa94a94919b0090a18ff71f418", null ], + [ "vdo_frame_get_is_last_buffer", "vdo-frame_8h.html#aa75877f771a981a0db065e0132e31382", null ], + [ "vdo_frame_get_opaque", "vdo-frame_8h.html#a6d7eb626d1bf4a2d4ab5173f5a1efc84", null ], + [ "vdo_frame_get_sequence_nbr", "vdo-frame_8h.html#a4ac5c0ea4f8e0447f888e6d4653a76ed", null ], + [ "vdo_frame_get_size", "vdo-frame_8h.html#a1313d50080954d7d9930617cf2413564", null ], + [ "vdo_frame_get_timestamp", "vdo-frame_8h.html#a4d44c7416b076907f288473de1ba2f21", null ], + [ "vdo_frame_memmap", "vdo-frame_8h.html#af8c03aa6e65b7ee5b263205e572fa780", null ], + [ "vdo_frame_set_custom_timestamp", "vdo-frame_8h.html#a780965117fc510292d785b82ce077af1", null ], + [ "vdo_frame_set_extra_info", "vdo-frame_8h.html#aab522ead3e52b60de33120691bc1eaf4", null ], + [ "vdo_frame_set_frame_type", "vdo-frame_8h.html#aa2a42c17370c10af7e11a114f1cb31a3", null ], + [ "vdo_frame_set_header_size", "vdo-frame_8h.html#ab1e186fe052692a35280c1da309c4521", null ], + [ "vdo_frame_set_is_last_buffer", "vdo-frame_8h.html#a57dd47aeec8690169735268957680ef1", null ], + [ "vdo_frame_set_sequence_nbr", "vdo-frame_8h.html#ae0cbabed403313a18724a9d61627ed49", null ], + [ "vdo_frame_set_size", "vdo-frame_8h.html#aa0511604695f0987937f90ac6362d8a7", null ], + [ "vdo_frame_set_timestamp", "vdo-frame_8h.html#a4b1f09ca2e8af5c1e1ecea070fa94ccc", null ], + [ "vdo_frame_take_chunk", "vdo-frame_8h.html#adb25e7f390f3e708a9fbc7508b5e0b45", null ], + [ "vdo_frame_unmap", "vdo-frame_8h.html#a595c8a65aceaa01ddcf25de7c2061553", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.dot new file mode 100644 index 0000000..133c221 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.dot @@ -0,0 +1,13 @@ +digraph "vdo-frame.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node5 [label="vdo-frame.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node5 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="vdo-stream.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-stream_8h.html",tooltip="A class representing a stream session. "]; + Node5 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vdo-buffer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-buffer_8h.html",tooltip="A memory buffer. "]; + Node7 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vdo-channel.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-channel_8h.html",tooltip="A class representing a channel. "]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.md5 new file mode 100644 index 0000000..f237047 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.md5 @@ -0,0 +1 @@ +39c078b21be1a01cde13eb55e4315254 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__incl.dot new file mode 100644 index 0000000..17b5b24 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__incl.dot @@ -0,0 +1,15 @@ +digraph "vdo-frame.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="vdo-frame.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node0 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="vdo-map.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-map_8h.html",tooltip="A class representing a dictionary mapping keys to values. "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="glib-object.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; + Node0 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="vdo-types.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-types_8h.html",tooltip="Vdo common type definitions. "]; + Node3 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node0 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="gio/gio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__incl.md5 new file mode 100644 index 0000000..7a692c0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h__incl.md5 @@ -0,0 +1 @@ +b3b5b71f1446a7151c4035496e045799 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h_source.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h_source.html new file mode 100644 index 0000000..2b32f53 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-frame_8h_source.html @@ -0,0 +1,125 @@ + + + + + + + +libvdo: vdo-frame.h Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    vdo-frame.h
    +
    +
    +Go to the documentation of this file.
    1 
    9 #ifndef __VDO_FRAME_H__
    10 #define __VDO_FRAME_H__
    11 
    12 #include "vdo-map.h"
    13 #include "vdo-types.h"
    14 
    15 #include <gio/gio.h>
    16 
    17 G_BEGIN_DECLS
    18 
    23 #define VDO_TYPE_FRAME (vdo_frame_get_type())
    24 G_DECLARE_FINAL_TYPE(VdoFrame, vdo_frame, VDO, FRAME, GObject)
    25 
    26 typedef void(*VdoFrameFinalizer)(VdoFrame *self);
    27 
    36 
    48 
    56 guint64 vdo_frame_get_timestamp(VdoFrame *self);
    57 
    66 
    74 gsize vdo_frame_get_size(VdoFrame *self);
    75 
    88 
    97 gint vdo_frame_get_fd(VdoFrame *self);
    98 
    107 
    116 gpointer vdo_frame_get_opaque(VdoFrame *self);
    117 
    125 gboolean vdo_frame_get_is_last_buffer(VdoFrame *self);
    126 
    133 void vdo_frame_set_size(VdoFrame *self, gsize size);
    134 
    142 
    149 void vdo_frame_set_sequence_nbr(VdoFrame *self, guint seqnum);
    150 
    157 void vdo_frame_set_timestamp(VdoFrame *self, guint64 timestamp);
    158 
    165 void vdo_frame_set_custom_timestamp(VdoFrame *self, gint64 timestamp);
    166 
    173 void vdo_frame_set_is_last_buffer(VdoFrame *self, gboolean is_last_buffer);
    174 
    181 void vdo_frame_set_extra_info(VdoFrame *self, VdoMap *extra_info);
    182 
    193 void vdo_frame_set_header_size(VdoFrame *self, gssize size);
    194 
    206 gpointer vdo_frame_memmap(VdoFrame *self);
    207 
    213 void vdo_frame_unmap(VdoFrame *self);
    214 
    231 VdoChunk vdo_frame_take_chunk(VdoFrame *self, GError **error);
    232 
    233 G_END_DECLS
    234 
    235 #endif
    guint64 vdo_frame_get_timestamp(VdoFrame *self)
    Returns the timestamp of this frame.
    +
    void vdo_frame_set_custom_timestamp(VdoFrame *self, gint64 timestamp)
    Returns a custom timestamp of this frame.
    +
    void vdo_frame_set_is_last_buffer(VdoFrame *self, gboolean is_last_buffer)
    Marks this frame as last buffer.
    +
    VdoFrameType vdo_frame_get_frame_type(VdoFrame *self)
    Returns the type of this frame.
    +
    void vdo_frame_set_extra_info(VdoFrame *self, VdoMap *extra_info)
    Sets the extra info of this frame.
    +
    void vdo_frame_set_frame_type(VdoFrame *self, VdoFrameType type)
    Sets the type of this frame.
    +
    gpointer vdo_frame_get_opaque(VdoFrame *self)
    Returns a pointer to the opaque data of this frame.
    +
    void vdo_frame_set_timestamp(VdoFrame *self, guint64 timestamp)
    Sets the timestamp of this frame.
    +
    VdoFrameType
    Video frame types.
    Definition: vdo-types.h:129
    +
    A class representing a dictionary mapping keys to values.
    +
    Vdo common type definitions.
    +
    void vdo_frame_set_sequence_nbr(VdoFrame *self, guint seqnum)
    Sets the sequence number of this frame.
    +
    gint64 vdo_frame_get_custom_timestamp(VdoFrame *self)
    Returns a custom timestamp for this frame.
    +
    gint vdo_frame_get_fd(VdoFrame *self)
    Returns a file descriptor for this frame.
    +
    void vdo_frame_set_size(VdoFrame *self, gsize size)
    Sets the size of this frame.
    +
    gsize vdo_frame_get_size(VdoFrame *self)
    Returns the size of this frame.
    +
    VdoChunk vdo_frame_take_chunk(VdoFrame *self, GError **error)
    Iterate buffer contents by chunks.
    +
    guint vdo_frame_get_sequence_nbr(VdoFrame *self)
    Returns the sequence number of this frame.
    +
    gssize vdo_frame_get_header_size(VdoFrame *self)
    Returns the size of any H264/H265 headers contained in this frame.
    +
    A class representing a dictionary mapping keys to values.
    +
    void vdo_frame_unmap(VdoFrame *self)
    Unmaps the frame from current process memory.
    +
    A video frame.
    +
    gboolean vdo_frame_get_is_last_buffer(VdoFrame *self)
    Tests whether this frame is last buffer.
    +
    VdoMap * vdo_frame_get_extra_info(VdoFrame *self)
    Returns the extra info of this frame.
    +
    A video chunk.
    Definition: vdo-types.h:175
    +
    void vdo_frame_set_header_size(VdoFrame *self, gssize size)
    Sets the header size of this frame, normally used for H26x frames.
    +
    gpointer vdo_frame_memmap(VdoFrame *self)
    A convenience function that maps the frame into current process memory.
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h.html new file mode 100644 index 0000000..313cb2c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h.html @@ -0,0 +1,1303 @@ + + + + + + + +libvdo: vdo-map.h File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    vdo-map.h File Reference
    +
    +
    + +

    A class representing a dictionary mapping keys to values. +More...

    +
    #include <glib-object.h>
    +
    +Include dependency graph for vdo-map.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Macros

    #define vdo_map_get_printf(self, type, def, len, format, ...)
     Returns a value using a printf-style format string to specify a key. More...
     
    #define vdo_map_set_printf(self, type, value, len, format, ...)
     Sets a value using a printf-style format string to specify a key. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    VdoMapvdo_map_new (void)
     Constructs an new empty VdoMap. More...
     
    VdoMapvdo_map_new_from_variant (GVariant *dictionary)
     Constructs a new VdoMap with the same entries as the specified GVariant dictionary. More...
     
    gboolean vdo_map_empty (const VdoMap *self)
     Checks if this map is empty. More...
     
    gsize vdo_map_size (const VdoMap *self)
     Returns the number of entries in this map. More...
     
    void vdo_map_swap (VdoMap *lhs, VdoMap *rhs)
     Swaps the contents of two maps. More...
     
    gboolean vdo_map_contains (const VdoMap *self, const gchar *name)
     Checks if this map contains the specified key. More...
     
    gboolean vdo_map_contains_va (const VdoMap *self,...)
     Checks if this map contains the specified set of keys. More...
     
    gboolean vdo_map_contains_strv (const VdoMap *self, const gchar *const *names)
     Checks if this map contains the specified set of keys. More...
     
    gboolean vdo_map_entry_equals (const VdoMap *self, const VdoMap *map, const gchar *name)
     Checks if the specified entry in this map and the specified map are equal. More...
     
    gboolean vdo_map_entry_updates (const VdoMap *self, const VdoMap *map, const gchar *name)
     Checks if the specified key in the specified map is mapped to a value that differs from the one in this map. More...
     
    gboolean vdo_map_equals (const VdoMap *self, const VdoMap *map)
     Checks if all entries in this map and the specified map are equal. More...
     
    gboolean vdo_map_equals_va (const VdoMap *self, const VdoMap *map,...)
     Checks if all of the specified entries in this map and the specified map are equal. More...
     
    gboolean vdo_map_equals_strv (const VdoMap *self, const VdoMap *map, const gchar *const *names)
     Checks if all of the specified entries in this map and the specified map are equal. More...
     
    void vdo_map_remove (VdoMap *self, const gchar *name)
     Removes the entry with the specified key from this map. More...
     
    void vdo_map_remove_va (VdoMap *self,...)
     Removes all entries with the specified keys from this map. More...
     
    void vdo_map_remove_strv (VdoMap *self, const gchar *const *names)
     Removes all entries with the specified keys from this map. More...
     
    void vdo_map_clear (VdoMap *self)
     Removes all of the entries from this map. More...
     
    VdoMapvdo_map_filter_prefix (const VdoMap *self, const gchar *prefix)
     Returns a new map containing all entries from this map with a key that matches the specified prefix. More...
     
    VdoMapvdo_map_filter_va (const VdoMap *self,...)
     Returns a new map containing all entries from this map with the specified keys. More...
     
    VdoMapvdo_map_filter_strv (const VdoMap *self, const gchar *const *names)
     Returns a new map containing all entries from this map with the specified keys. More...
     
    void vdo_map_merge (VdoMap *self, const VdoMap *map)
     Merges the specified map into this map. More...
     
    void vdo_map_copy_value (VdoMap *self, const gchar *src, const gchar *dst)
     Copies the value associated with the key src to an entry with the key dst. More...
     
    GVariant * vdo_map_to_variant (const VdoMap *self)
     Create a GVariant dictionary containing all entries from this map. More...
     
    void vdo_map_dump (const VdoMap *self)
     Print a string representation of this map to stdout. More...
     
    GVariant * vdo_map_get_variant (const VdoMap *self, const gchar *name, GVariant *def)
     Returns the value which the key name is associated with. More...
     
    void vdo_map_set_boolean (VdoMap *self, const gchar *name, gboolean value)
     Sets the value associated with the specified key. More...
     
    +

    Detailed Description

    +

    A class representing a dictionary mapping keys to values.

    +

    Copyright (C) 2016-2019, Axis Communications AB, Lund

    +

    Macro Definition Documentation

    + +

    ◆ vdo_map_get_printf

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define vdo_map_get_printf( self,
     type,
     def,
     len,
     format,
     ... 
    )
    +
    +Value:
    __extension__ ({\
    gchar name[len];\
    g_snprintf(name, len, format, __VA_ARGS__);\
    vdo_map_get_##type(self, name, def);\
    })
    +

    Returns a value using a printf-style format string to specify a key.

    +

    These macros work due to a GCC extension: parentheses around a compound statement implicitly make the value of the last expression inside the block the return value of the whole block.

    +
    Parameters
    + + + + + + +
    selfA VdoMap.
    typeThe type of the value to retrieve.
    defDefault return value.
    lenMaximum string length.
    formatA printf-style format string to use as a key.
    +
    +
    +
    Returns
    The value associated with the specified key, or default value.
    + +
    +
    + +

    ◆ vdo_map_set_printf

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define vdo_map_set_printf( self,
     type,
     value,
     len,
     format,
     ... 
    )
    +
    +Value:
    {\
    gchar name[len];\
    g_snprintf(name, len, format, __VA_ARGS__);\
    vdo_map_set_##type(self, name, value);\
    }
    +

    Sets a value using a printf-style format string to specify a key.

    +
    Parameters
    + + + + + + +
    selfA VdoMap.
    typeThe type of the value to set.
    valueThe value to set.
    lenMaximum string length.
    formatA printf-style format string to use as a key.
    +
    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ vdo_map_clear()

    + +
    +
    + + + + + + + + +
    void vdo_map_clear (VdoMapself)
    +
    + +

    Removes all of the entries from this map.

    +
    Parameters
    + + +
    selfA VdoMap.
    +
    +
    + +
    +
    + +

    ◆ vdo_map_contains()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    gboolean vdo_map_contains (const VdoMapself,
    const gchar * name 
    )
    +
    + +

    Checks if this map contains the specified key.

    +
    Parameters
    + + + +
    selfA VdoMap.
    nameThe key to check for.
    +
    +
    +
    Returns
    TRUE if this map contains the specified key, otherwise FALSE.
    + +
    +
    + +

    ◆ vdo_map_contains_strv()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    gboolean vdo_map_contains_strv (const VdoMapself,
    const gchar *const * names 
    )
    +
    + +

    Checks if this map contains the specified set of keys.

    +
    Note
    This function takes a string array which must be terminated with the value NULL.
    +
    Parameters
    + + + +
    selfA VdoMap.
    namesA NULL terminated string array containing the keys to be checked for containment in this map.
    +
    +
    +
    Returns
    TRUE if this map contains all the specified keys, otherwise FALSE.
    + +
    +
    + +

    ◆ vdo_map_contains_va()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    gboolean vdo_map_contains_va (const VdoMapself,
     ... 
    )
    +
    + +

    Checks if this map contains the specified set of keys.

    +
    Note
    This function takes a variable length argument list which must be terminated with the value NULL.
    +
    Parameters
    + + + +
    selfA VdoMap.
    ...A NULL terminated variable argument list containing the keys to be checked for containment in this map.
    +
    +
    +
    Returns
    TRUE if this map contains all the specified keys, otherwise FALSE.
    + +
    +
    + +

    ◆ vdo_map_copy_value()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void vdo_map_copy_value (VdoMapself,
    const gchar * src,
    const gchar * dst 
    )
    +
    + +

    Copies the value associated with the key src to an entry with the key dst.

    +

    If an entry with the key dst does not already exist, a new one is created. The value of the existing entry is modified otherwise.

    +
    Parameters
    + + + + +
    selfA VdoMap.
    srcThe key associated with the value to copy.
    dstThe key for the entry to be created/modified.
    +
    +
    + +
    +
    + +

    ◆ vdo_map_dump()

    + +
    +
    + + + + + + + + +
    void vdo_map_dump (const VdoMapself)
    +
    + +

    Print a string representation of this map to stdout.

    +
    Parameters
    + + +
    selfA VdoMap.
    +
    +
    + +
    +
    + +

    ◆ vdo_map_empty()

    + +
    +
    + + + + + + + + +
    gboolean vdo_map_empty (const VdoMapself)
    +
    + +

    Checks if this map is empty.

    +
    Parameters
    + + +
    selfA VdoMap.
    +
    +
    +
    Returns
    TRUE if this map is empty, otherwise FALSE.
    + +
    +
    + +

    ◆ vdo_map_entry_equals()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_map_entry_equals (const VdoMapself,
    const VdoMapmap,
    const gchar * name 
    )
    +
    + +

    Checks if the specified entry in this map and the specified map are equal.

    +
    Parameters
    + + + + +
    selfA VdoMap.
    mapA map to be checked for equality with this map.
    nameThe key specifying the entry to be checked for equality.
    +
    +
    +
    Returns
    TRUE if the values mapped to the specified key in both maps are equal, otherwise FALSE
    + +
    +
    + +

    ◆ vdo_map_entry_updates()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_map_entry_updates (const VdoMapself,
    const VdoMapmap,
    const gchar * name 
    )
    +
    + +

    Checks if the specified key in the specified map is mapped to a value that differs from the one in this map.

    +
    Parameters
    + + + + +
    selfA VdoMap.
    mapA map to be checked for an updating entry.
    namethe name of the map entry to check.
    +
    +
    +
    Returns
    TRUE if map contains an updating entry for this map.
    + +
    +
    + +

    ◆ vdo_map_equals()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    gboolean vdo_map_equals (const VdoMapself,
    const VdoMapmap 
    )
    +
    + +

    Checks if all entries in this map and the specified map are equal.

    +
    Parameters
    + + + +
    selfA VdoMap.
    mapA VdoMap to compare for equality.
    +
    +
    +
    Returns
    TRUE if all entries are equal, otherwise FALSE.
    + +
    +
    + +

    ◆ vdo_map_equals_strv()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_map_equals_strv (const VdoMapself,
    const VdoMapmap,
    const gchar *const * names 
    )
    +
    + +

    Checks if all of the specified entries in this map and the specified map are equal.

    +

    This function takes a string array which must be terminated with the value NULL.

    +
    Parameters
    + + + + +
    selfA VdoMap.
    mapA map to be checked for equality with this map.
    namesA NULL terminated string array containing keys to be checked for equality.
    +
    +
    +
    Returns
    TRUE if all entries are equal, otherwise FALSE.
    + +
    +
    + +

    ◆ vdo_map_equals_va()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_map_equals_va (const VdoMapself,
    const VdoMapmap,
     ... 
    )
    +
    + +

    Checks if all of the specified entries in this map and the specified map are equal.

    +

    This function takes a variable length argument list which must be terminated with the value NULL.

    +
    Parameters
    + + + + +
    selfA VdoMap.
    mapA map to be checked for equality with this map.
    ...A NULL terminated variable argument list containing keys to be checked for equality.
    +
    +
    +
    Returns
    TRUE if all the specified entries are equal, otherwise FALSE
    + +
    +
    + +

    ◆ vdo_map_filter_prefix()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoMap* vdo_map_filter_prefix (const VdoMapself,
    const gchar * prefix 
    )
    +
    + +

    Returns a new map containing all entries from this map with a key that matches the specified prefix.

    +
    Parameters
    + + + +
    selfA VdoMap.
    prefixA prefix string to use as filter.
    +
    +
    +
    Returns
    A new map containing matching entries from self. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_map_filter_strv()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoMap* vdo_map_filter_strv (const VdoMapself,
    const gchar *const * names 
    )
    +
    + +

    Returns a new map containing all entries from this map with the specified keys.

    +

    This function takes a string array which must be terminated with the value NULL.

    +
    Parameters
    + + + +
    selfA VdoMap.
    namesA NULL terminated array of strings containing keys for entries to be copied to the new map.
    +
    +
    +
    Returns
    A new map containing matching entries from self. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_map_filter_va()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoMap* vdo_map_filter_va (const VdoMapself,
     ... 
    )
    +
    + +

    Returns a new map containing all entries from this map with the specified keys.

    +

    This function takes a variable length argument list which must be terminated with the value NULL.

    +
    Parameters
    + + + +
    selfA VdoMap.
    ...A NULL terminated variable argument list containing keys for entries to be copied to the new map.
    +
    +
    +
    Returns
    A new map containing matching entries from self. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_map_get_variant()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    GVariant* vdo_map_get_variant (const VdoMapself,
    const gchar * name,
    GVariant * def 
    )
    +
    + +

    Returns the value which the key name is associated with.

    +

    The specified default value def is returned if the specified key does not exists in this map.

    +
    Parameters
    + + + + +
    selfA VdoMap.
    nameThe key associated with the value to be returned.
    defDefault return value.
    +
    +
    +
    Returns
    The value associated with the specified key, or default value.
    + +
    +
    + +

    ◆ vdo_map_merge()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_map_merge (VdoMapself,
    const VdoMapmap 
    )
    +
    + +

    Merges the specified map into this map.

    +
    Parameters
    + + + +
    selfA VdoMap.
    mapA map to be merged into this map.
    +
    +
    + +
    +
    + +

    ◆ vdo_map_new()

    + +
    +
    + + + + + + + + +
    VdoMap* vdo_map_new (void )
    +
    + +

    Constructs an new empty VdoMap.

    +
    Returns
    A VdoMap.
    + +
    +
    + +

    ◆ vdo_map_new_from_variant()

    + +
    +
    + + + + + + + + +
    VdoMap* vdo_map_new_from_variant (GVariant * dictionary)
    +
    + +

    Constructs a new VdoMap with the same entries as the specified GVariant dictionary.

    +
    Parameters
    + + +
    dictionaryA Gvariant dictionary.
    +
    +
    +
    Returns
    A VdoMap.
    + +
    +
    + +

    ◆ vdo_map_remove()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_map_remove (VdoMapself,
    const gchar * name 
    )
    +
    + +

    Removes the entry with the specified key from this map.

    +
    Parameters
    + + + +
    selfA VdoMap.
    nameThe key to remove.
    +
    +
    + +
    +
    + +

    ◆ vdo_map_remove_strv()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_map_remove_strv (VdoMapself,
    const gchar *const * names 
    )
    +
    + +

    Removes all entries with the specified keys from this map.

    +

    This function takes a string array which must be terminated with the value NULL.

    +
    Parameters
    + + + +
    selfA VdoMap.
    namesA NULL terminated array of strings containing keys to be removed
    +
    +
    + +
    +
    + +

    ◆ vdo_map_remove_va()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_map_remove_va (VdoMapself,
     ... 
    )
    +
    + +

    Removes all entries with the specified keys from this map.

    +

    This function takes a variable length argument list which must be terminated with the value NULL.

    +
    Parameters
    + + + +
    selfA VdoMap.
    ...A NULL terminated variable argument list containing keys to be removed.
    +
    +
    + +
    +
    + +

    ◆ vdo_map_set_boolean()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void vdo_map_set_boolean (VdoMapself,
    const gchar * name,
    gboolean value 
    )
    +
    + +

    Sets the value associated with the specified key.

    +

    If an entry with the key name does not exist in this map. a new entry will be created.

    +
    Parameters
    + + + + +
    selfA VdoMap.
    nameThe key associated with the value to be set.
    valueThe value to set.
    +
    +
    + +
    +
    + +

    ◆ vdo_map_size()

    + +
    +
    + + + + + + + + +
    gsize vdo_map_size (const VdoMapself)
    +
    + +

    Returns the number of entries in this map.

    +
    Parameters
    + + +
    selfA VdoMap.
    +
    +
    +
    Returns
    The number of entries in this map.
    + +
    +
    + +

    ◆ vdo_map_swap()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void vdo_map_swap (VdoMaplhs,
    VdoMaprhs 
    )
    +
    + +

    Swaps the contents of two maps.

    +
    Parameters
    + + + +
    lhsA VdoMap to swap with rhs.
    rhsA VdoMap to swap with lhs.
    +
    +
    + +
    +
    + +

    ◆ vdo_map_to_variant()

    + +
    +
    + + + + + + + + +
    GVariant* vdo_map_to_variant (const VdoMapself)
    +
    + +

    Create a GVariant dictionary containing all entries from this map.

    +
    Parameters
    + + +
    selfA VdoMap.
    +
    +
    +
    Returns
    A GVariant dictionary. Free with g_variant_unref().
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h.js new file mode 100644 index 0000000..23cc386 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h.js @@ -0,0 +1,31 @@ +var vdo_map_8h = +[ + [ "vdo_map_get_printf", "vdo-map_8h.html#a7b8c50168ed43f068a1eaf66472f7301", null ], + [ "vdo_map_set_printf", "vdo-map_8h.html#a1a65512384e0991bfc2dc0e04e92d182", null ], + [ "vdo_map_clear", "vdo-map_8h.html#ab942ab99d8733221a504807227c55c78", null ], + [ "vdo_map_contains", "vdo-map_8h.html#afba46021d63a6747ecd968146a8bfc93", null ], + [ "vdo_map_contains_strv", "vdo-map_8h.html#a397c60eee7105ce0456631730efecc7d", null ], + [ "vdo_map_contains_va", "vdo-map_8h.html#a42ac1e89a17531cf65c7f565964b7cdc", null ], + [ "vdo_map_copy_value", "vdo-map_8h.html#a3e70b811f3d1a740ade5da5ab9b14ae1", null ], + [ "vdo_map_dump", "vdo-map_8h.html#a98b42a54524038a2067ef2c7015c070b", null ], + [ "vdo_map_empty", "vdo-map_8h.html#a41324ec82e93a622f9073cf708a8545e", null ], + [ "vdo_map_entry_equals", "vdo-map_8h.html#aaa6e51fbb022e4e93a81ccb90a04bf0d", null ], + [ "vdo_map_entry_updates", "vdo-map_8h.html#aa7b72ff14146c0dacad2df0fd89bc8bf", null ], + [ "vdo_map_equals", "vdo-map_8h.html#a2c2af191d0695a8e3378fd8e591e7cbd", null ], + [ "vdo_map_equals_strv", "vdo-map_8h.html#a722f30a129cde74492e81a1fe9916315", null ], + [ "vdo_map_equals_va", "vdo-map_8h.html#ae64f48740633752ef626fcd816ee7e2c", null ], + [ "vdo_map_filter_prefix", "vdo-map_8h.html#a554346235c2d16315168df26111209cc", null ], + [ "vdo_map_filter_strv", "vdo-map_8h.html#a6b07a53b38a5c1bdd241dd2571a72d3c", null ], + [ "vdo_map_filter_va", "vdo-map_8h.html#ae3ef19a1de979e9cebf07bab998fdbbb", null ], + [ "vdo_map_get_variant", "vdo-map_8h.html#aabc08661f5f0694f7c1abeff6fd36e8a", null ], + [ "vdo_map_merge", "vdo-map_8h.html#ae3d064d00161bf66423fa7f86b8b1d87", null ], + [ "vdo_map_new", "vdo-map_8h.html#a98b0e304d19d397003f2cc0c774cc33f", null ], + [ "vdo_map_new_from_variant", "vdo-map_8h.html#a0ad8cdd1aba3ec6625fb869616fae7f4", null ], + [ "vdo_map_remove", "vdo-map_8h.html#a6f649828e6de0e8147db2a0e741de978", null ], + [ "vdo_map_remove_strv", "vdo-map_8h.html#af30b5fa0b0dd6f0b0cf9e0417902a8b4", null ], + [ "vdo_map_remove_va", "vdo-map_8h.html#aae33d38fc56612499cb66160ed8d0e54", null ], + [ "vdo_map_set_boolean", "vdo-map_8h.html#a8f15d4792608faaf3cae9534c71d2ba8", null ], + [ "vdo_map_size", "vdo-map_8h.html#aa4f3655d8be32e7082f0a8b820ec0651", null ], + [ "vdo_map_swap", "vdo-map_8h.html#a3d7c695daa085566e776e5c96dc3d7ee", null ], + [ "vdo_map_to_variant", "vdo-map_8h.html#ab9f13fade87567e16bc0b60d801282a7", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__dep__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__dep__incl.dot new file mode 100644 index 0000000..e274fc4 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__dep__incl.dot @@ -0,0 +1,17 @@ +digraph "vdo-map.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node2 [label="vdo-map.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="vdo-frame.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-frame_8h.html",tooltip="A video frame. "]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="vdo-stream.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-stream_8h.html",tooltip="A class representing a stream session. "]; + Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="vdo-buffer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-buffer_8h.html",tooltip="A memory buffer. "]; + Node5 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="vdo-channel.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-channel_8h.html",tooltip="A class representing a channel. "]; + Node2 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__dep__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__dep__incl.md5 new file mode 100644 index 0000000..c7f1067 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__dep__incl.md5 @@ -0,0 +1 @@ +87654624b276a2caae77b660b469e85d \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__incl.dot new file mode 100644 index 0000000..001a5c0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__incl.dot @@ -0,0 +1,8 @@ +digraph "vdo-map.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="vdo-map.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node0 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="glib-object.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__incl.md5 new file mode 100644 index 0000000..b715cc1 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h__incl.md5 @@ -0,0 +1 @@ +fdaab71c6ca1977e903e42e3fcd5984b \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h_source.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h_source.html new file mode 100644 index 0000000..e5cace9 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-map_8h_source.html @@ -0,0 +1,125 @@ + + + + + + + +libvdo: vdo-map.h Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    vdo-map.h
    +
    +
    +Go to the documentation of this file.
    1 
    9 #ifndef __VDO_MAP_H__
    10 #define __VDO_MAP_H__
    11 
    12 #include <glib-object.h>
    13 
    14 G_BEGIN_DECLS
    15 
    57 #define VDO_TYPE_MAP (vdo_map_get_type())
    58 G_DECLARE_FINAL_TYPE(VdoMap, vdo_map, VDO, MAP, GObject)
    59 
    60 
    75 #define vdo_map_get_printf(self, type, def, len, format, ...) __extension__ ({\
    76  gchar name[len];\
    77  g_snprintf(name, len, format, __VA_ARGS__);\
    78  vdo_map_get_##type(self, name, def);\
    79 })
    80 
    81 #define vdo_map_get_string_printf(self, def, len, format, ...) __extension__ ({\
    82  gchar name[len];\
    83  g_snprintf(name, len, format, __VA_ARGS__);\
    84  vdo_map_get_string(self, name, NULL, def);\
    85 })
    86 
    87 #define vdo_map_dup_string_printf(self, def, len, format, ...) __extension__ ({\
    88  gchar name[len];\
    89  g_snprintf(name, len, format, __VA_ARGS__);\
    90  vdo_map_dup_string(self, name, def);\
    91 })
    92 
    102 #define vdo_map_set_printf(self, type, value, len, format, ...) {\
    103  gchar name[len];\
    104  g_snprintf(name, len, format, __VA_ARGS__);\
    105  vdo_map_set_##type(self, name, value);\
    106 }
    107 
    113 VdoMap *vdo_map_new(void);
    114 
    123 VdoMap *vdo_map_new_from_variant(GVariant *dictionary);
    124 
    132 gboolean vdo_map_empty(const VdoMap *self);
    133 
    141 gsize vdo_map_size(const VdoMap *self);
    142 
    149 void vdo_map_swap(VdoMap *lhs, VdoMap *rhs);
    150 
    159 gboolean vdo_map_contains(const VdoMap *self, const gchar *name);
    160 
    173 gboolean vdo_map_contains_va(const VdoMap *self, ...);
    174 
    187 gboolean vdo_map_contains_strv(const VdoMap *self, const gchar * const *names);
    188 
    199 gboolean vdo_map_entry_equals(const VdoMap *self, const VdoMap *map, const gchar *name);
    200 
    211 gboolean vdo_map_entry_updates(const VdoMap *self, const VdoMap *map, const gchar *name);
    212 
    221 gboolean vdo_map_equals(const VdoMap *self, const VdoMap *map);
    222 
    237 gboolean vdo_map_equals_va(const VdoMap *self, const VdoMap *map, ...);
    238 
    253 gboolean vdo_map_equals_strv(const VdoMap *self, const VdoMap *map, const gchar * const *names);
    254 
    261 void vdo_map_remove(VdoMap *self, const gchar *name);
    262 
    273 void vdo_map_remove_va(VdoMap *self, ...);
    274 
    285 void vdo_map_remove_strv(VdoMap *self, const gchar * const *names);
    286 
    292 void vdo_map_clear(VdoMap *self);
    293 
    304 VdoMap *vdo_map_filter_prefix(const VdoMap *self, const gchar *prefix);
    305 
    320 VdoMap *vdo_map_filter_va(const VdoMap *self, ...);
    321 
    336 VdoMap *vdo_map_filter_strv(const VdoMap *self, const gchar * const *names);
    337 
    344 void vdo_map_merge(VdoMap *self, const VdoMap *map);
    345 
    356 void vdo_map_copy_value(VdoMap *self, const gchar *src, const gchar *dst);
    357 
    365 GVariant *vdo_map_to_variant(const VdoMap *self);
    366 
    372 void vdo_map_dump(const VdoMap *self);
    373 
    386 GVariant *vdo_map_get_variant(const VdoMap *self, const gchar *name, GVariant *def);
    387 gboolean vdo_map_get_boolean(const VdoMap *self, const gchar *name, gboolean def);
    388 guchar vdo_map_get_byte(const VdoMap *self, const gchar *name, guchar def);
    389 gint16 vdo_map_get_int16(const VdoMap *self, const gchar *name, gint16 def);
    390 guint16 vdo_map_get_uint16(const VdoMap *self, const gchar *name, guint16 def);
    391 gint32 vdo_map_get_int32(const VdoMap *self, const gchar *name, gint32 def);
    392 guint32 vdo_map_get_uint32(const VdoMap *self, const gchar *name, guint32 def);
    393 gint64 vdo_map_get_int64(const VdoMap *self, const gchar *name, gint64 def);
    394 guint64 vdo_map_get_uint64(const VdoMap *self, const gchar *name, guint64 def);
    395 gdouble vdo_map_get_double(const VdoMap *self, const gchar *name, gdouble def);
    396 const gchar *vdo_map_get_string(const VdoMap *self, const gchar *name, gsize *size,
    397  const gchar *def);
    398 gchar *vdo_map_dup_string(const VdoMap *self, const gchar *name, const gchar *def);
    399 guint32 *vdo_map_get_uint32x2(const VdoMap *self, const gchar *name, guint32 def[2]);
    400 guint32 *vdo_map_get_uint32x4(const VdoMap *self, const gchar *name, guint32 def[4]);
    401 gdouble *vdo_map_get_doublex4(const VdoMap *self, const gchar *name, gdouble def[4]);
    402 
    413 void vdo_map_set_boolean(VdoMap *self, const gchar *name, gboolean value);
    414 void vdo_map_set_byte(VdoMap *self, const gchar *name, guchar value);
    415 void vdo_map_set_int16(VdoMap *self, const gchar *name, gint16 value);
    416 void vdo_map_set_uint16(VdoMap *self, const gchar *name, guint16 value);
    417 void vdo_map_set_int32(VdoMap *self, const gchar *name, gint32 value);
    418 void vdo_map_set_uint32(VdoMap *self, const gchar *name, guint32 value);
    419 void vdo_map_set_int64(VdoMap *self, const gchar *name, gint64 value);
    420 void vdo_map_set_uint64(VdoMap *self, const gchar *name, guint64 value);
    421 void vdo_map_set_double(VdoMap *self, const gchar *name, gdouble value);
    422 void vdo_map_set_string(VdoMap *self, const gchar *name, const gchar *value);
    423 void vdo_map_set_uint32x2(VdoMap *self, const gchar *name, const guint32 value[2]);
    424 void vdo_map_set_uint32x4(VdoMap *self, const gchar *name, const guint32 value[4]);
    425 void vdo_map_set_doublex4(VdoMap *self, const gchar *name, const gdouble value[4]);
    426 
    427 G_END_DECLS
    428 
    429 #endif
    void vdo_map_remove(VdoMap *self, const gchar *name)
    Removes the entry with the specified key from this map.
    +
    gboolean vdo_map_contains_va(const VdoMap *self,...)
    Checks if this map contains the specified set of keys.
    +
    gboolean vdo_map_contains_strv(const VdoMap *self, const gchar *const *names)
    Checks if this map contains the specified set of keys.
    +
    GVariant * vdo_map_get_variant(const VdoMap *self, const gchar *name, GVariant *def)
    Returns the value which the key name is associated with.
    +
    void vdo_map_clear(VdoMap *self)
    Removes all of the entries from this map.
    +
    void vdo_map_swap(VdoMap *lhs, VdoMap *rhs)
    Swaps the contents of two maps.
    +
    gboolean vdo_map_empty(const VdoMap *self)
    Checks if this map is empty.
    +
    GVariant * vdo_map_to_variant(const VdoMap *self)
    Create a GVariant dictionary containing all entries from this map.
    +
    A class representing a dictionary mapping keys to values.
    +
    gboolean vdo_map_equals_strv(const VdoMap *self, const VdoMap *map, const gchar *const *names)
    Checks if all of the specified entries in this map and the specified map are equal.
    +
    void vdo_map_remove_strv(VdoMap *self, const gchar *const *names)
    Removes all entries with the specified keys from this map.
    +
    VdoMap * vdo_map_filter_strv(const VdoMap *self, const gchar *const *names)
    Returns a new map containing all entries from this map with the specified keys.
    +
    void vdo_map_merge(VdoMap *self, const VdoMap *map)
    Merges the specified map into this map.
    +
    VdoMap * vdo_map_new_from_variant(GVariant *dictionary)
    Constructs a new VdoMap with the same entries as the specified GVariant dictionary.
    +
    void vdo_map_copy_value(VdoMap *self, const gchar *src, const gchar *dst)
    Copies the value associated with the key src to an entry with the key dst.
    +
    gboolean vdo_map_entry_equals(const VdoMap *self, const VdoMap *map, const gchar *name)
    Checks if the specified entry in this map and the specified map are equal.
    +
    void vdo_map_dump(const VdoMap *self)
    Print a string representation of this map to stdout.
    +
    gboolean vdo_map_equals(const VdoMap *self, const VdoMap *map)
    Checks if all entries in this map and the specified map are equal.
    +
    VdoMap * vdo_map_filter_va(const VdoMap *self,...)
    Returns a new map containing all entries from this map with the specified keys.
    +
    gsize vdo_map_size(const VdoMap *self)
    Returns the number of entries in this map.
    +
    void vdo_map_set_boolean(VdoMap *self, const gchar *name, gboolean value)
    Sets the value associated with the specified key.
    +
    gboolean vdo_map_equals_va(const VdoMap *self, const VdoMap *map,...)
    Checks if all of the specified entries in this map and the specified map are equal.
    +
    VdoMap * vdo_map_filter_prefix(const VdoMap *self, const gchar *prefix)
    Returns a new map containing all entries from this map with a key that matches the specified prefix...
    +
    VdoMap * vdo_map_new(void)
    Constructs an new empty VdoMap.
    +
    gboolean vdo_map_contains(const VdoMap *self, const gchar *name)
    Checks if this map contains the specified key.
    +
    gboolean vdo_map_entry_updates(const VdoMap *self, const VdoMap *map, const gchar *name)
    Checks if the specified key in the specified map is mapped to a value that differs from the one in th...
    +
    void vdo_map_remove_va(VdoMap *self,...)
    Removes all entries with the specified keys from this map.
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h.html new file mode 100644 index 0000000..f0bd1c0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h.html @@ -0,0 +1,1203 @@ + + + + + + + +libvdo: vdo-stream.h File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    vdo-stream.h File Reference
    +
    +
    + +

    A class representing a stream session. +More...

    +
    #include "vdo-types.h"
    +#include "vdo-frame.h"
    +#include "vdo-buffer.h"
    +#include "vdo-map.h"
    +#include <glib-object.h>
    +
    +Include dependency graph for vdo-stream.h:
    +
    +
    + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    VdoStreamvdo_stream_new (VdoMap *settings, VdoBufferFinalizer fin, GError **error)
     Create a new VdoStream. More...
     
    VdoStreamvdo_stream_get (guint id, GError **error)
     Get an existing video stream. More...
     
    GList * vdo_stream_get_all (GError **error)
     Gets all existing video streams. More...
     
    guint vdo_stream_get_id (VdoStream *self)
     Returns the id of this video stream. More...
     
    gint vdo_stream_get_fd (VdoStream *self, GError **error)
     Returns a file descriptor representing the underlying socket connection. More...
     
    gint vdo_stream_get_event_fd (VdoStream *self, GError **error)
     Returns a file descriptor for prioritized events. More...
     
    VdoMapvdo_stream_get_info (VdoStream *self, GError **error)
     Get the info for this video stream. More...
     
    VdoMapvdo_stream_get_settings (VdoStream *self, GError **error)
     Get the settings for this video stream. More...
     
    gboolean vdo_stream_set_settings (VdoStream *self, VdoMap *settings, GError **error)
     Update the settings for this video stream. More...
     
    gboolean vdo_stream_set_framerate (VdoStream *self, gdouble framerate, GError **error)
     Update the framerate for this video stream. More...
     
    gboolean vdo_stream_attach (VdoStream *self, VdoMap *intent, GError **error)
     Attach to a Stream. More...
     
    gboolean vdo_stream_start (VdoStream *self, GError **error)
     Start this video stream. More...
     
    void vdo_stream_stop (VdoStream *self)
     Stop this video stream. More...
     
    gboolean vdo_stream_force_key_frame (VdoStream *self, GError **error)
     Forces this video stream to insert a key frame. More...
     
    VdoBuffer * vdo_stream_buffer_alloc (VdoStream *self, gpointer opaque, GError **error)
     Allocates a new buffer for this stream. More...
     
    gboolean vdo_stream_buffer_unref (VdoStream *self, VdoBuffer **buffer, GError **error)
     Decreases the reference count for the specified buffer. More...
     
    gboolean vdo_stream_buffer_enqueue (VdoStream *self, VdoBuffer *buffer, GError **error)
     Enqueue a buffer for this video stream. More...
     
    VdoBuffer * vdo_stream_get_buffer (VdoStream *self, GError **error)
     Fetches a VdoBuffer containing a frame. More...
     
    VdoStreamvdo_stream_to_fd (VdoMap *settings, int data_fd, int meta_fd, GError **error)
     Create and start a new stream to already existing file descriptors. More...
     
    VdoBuffer * vdo_stream_snapshot (VdoMap *settings, GError **error)
     Fetches a single VdoBuffer containing a frame. More...
     
    VdoMapvdo_stream_get_event (VdoStream *self, GError **error)
     Fetches the next Event. More...
     
    +

    Detailed Description

    +

    A class representing a stream session.

    +

    A VdoStream object is created in order to retrieve, control or monitor a video stream from the Vdo video service.

    +

    A VdoStream represents video stream or a sequence of images.

    +

    A VdoStream supports the following settings in vdo_stream_new(), they are also available in vdo_stream_get_settings() and vdo_stream_set_settings().

    +

    When one of the values below is set in the settings map it will appear in the info map as well, to reflect that they have been updated internally in vdo. The info value will differ if it has been clamped to within allowed values. Always refer to the info map to see what values are currently used.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Name Type Description
    "format" uint32 Video stream format as VdoFormat.
    "buffer.count" uint32 Hint how many in-flight buffers are desired.
    "buffer.strategy" uint32 Buffering Strategy as VdoBufferStrategy.
    "input" uint32 Video input, 1 ... inmax. 0 is invalid. No view areas.
    "channel" uint32 Video channel, 0 is overview, 1, 2, ... are view areas.
    "width" uint32 Video stream horizontal resolution.
    "height" uint32 Video stream vertical resolution.
    "framerate" uint32 Video stream frame rate.
    "compression" uint32 Video stream compression, Axis standard range [0:100].
    "rotation" uint32 Video stream rotation, normally [0,90,180,270].
    "horizontal_flip" boolean Video stream horizontal flip (mirroring).
    "vertical_flip" boolean Video stream vertical flip.
    "monochrome" boolean Video stream monochrome encoding.
    "dynamic.gop" boolean Enable dynamic gop
    "dynamic.bitrate" boolean Enable dynamic bitrate
    "dynamic.framerate" boolean Enable dynamic framerate
    "dynamic.compression" boolean Enable dynamic compression
    "qp.i" uint32 QP value for I-frames.
    "qp.p" uint32 QP value for P-frames.
    "bitrate" uint32 Video stream bitrate (bps)
    "rc.mode" uint32 Bitrate control mode as VdoRateControlMode.
    "rc.prio" uint32 Bitrate control priority as VdoRateControlPriority.
    "gop_length" uint32 Video stream GOP length.
    +

    H.264 Specific Settings

    + + + + + +
    Name Type Description
    "h264.profile" uint32 H.264 profile as VdoH264Profile.
    +

    H.265 Specific Settings

    + + + + + +
    Name Type Description
    "h265.profile" uint32 H.265 profile as VdoH265Profile.
    +

    Zipstream Specific Settings

    +

    The following Zipstream specific settings are supported for H.264 and H.265 streams.

    + + + + + + + + + + + + + + + + + + + +
    Name Type Description
    "zip.strength" uint32 Zipstream strength.
    "zip.max_gop_length" uint32 Zipstream maximum GOP length.
    "zip.gop_mode" uint32 Zipstream GOP mode [0 = fixed, 1 = dynamic]
    "zip.fps_mode" uint32 Zipstream framerate control mode: [0 = fixed, 1 = dynamic]
    "zip.skip_mode" uint32 Zipstream frame skip mode: [0 = drop, 1 = empty]
    "zip.min_fps_num" uint32 Zipstream minimum framerate numerator
    "zip.min_fps_den" uint32 Zipstream minimum framerate denominator
    "zip.profile" uint32 Zipstream profile as VdoZipStreamProfile.
    +

    ABR Specific Settings

    +

    The following ABR specific settings are supported with VDO_RATE_CONTROL_MODE_ABR.

    + + + + + + + +
    Name Type Description
    "abr.target_bitrate" uint32 Stream target bitrate (bps)
    "abr.retention_time" uint32 Retention time in seconds
    +

    A VdoStream provides the following info. Info is obtained by calling vdo_stream_get_info().

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Name Type Description
    "statistics.duration" int64 The duration of the stream in usec.
    "statistics.framerate" uint32 The framerate of the stream.
    "statistics.bitrate" uint32 The bitrate of the stream.
    "statistics.frame_count" uint32 The number of frames read.
    "statistics.bit_count" uint32 The number of bits read.
    "statistics.failed_frames" uint32 The number of frames failed to read.
    "statistics.accumulated_bytes" uint64 The number of bytes read since stream start
    "subformat" string The subformat for streams in YUV or raw format.
    "pitch" uint32 The row stride pitch for streams in YUV or raw format.
    "width" uint32 Actual width of the stream, for yuv and raw streams.
    "height" uint32 Actual height of the stream, for yuv and raw streams.
    "scale_factor" uint32 The scaling between the main buffer and the stream for me0/me1/zipstream streams. Ambarella only.
    "initial.q.i" uint32 Initial QP value for I-frames when the stream started
    "initial.q.p" uint32 Initial QP value for P-frames when the stream started
    +

    Copyright (C) 2016-2018, Axis Communications AB, Lund

    +

    Function Documentation

    + +

    ◆ vdo_stream_attach()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_stream_attach (VdoStreamself,
    VdoMapintent,
    GError ** error 
    )
    +
    + +

    Attach to a Stream.

    +

    This function is intended to be used with vdo_stream_get, it is redundant to attach to a stream which was created by vdo_stream_new, see vdo_stream_get_event for an example using "intent" with vdo_stream_new.

    +
    Parameters
    + + + + +
    selfA VdoStream.
    intentA VdoMap specifying intent or NULL for VDO_INTENT_DEFAULT.
    errorA location to return an error.
    +
    +
    + + + + + + + + + + + + + + + + + +
    Name Description
    VDO_INTENT_CONTROL Grants start, stop, info, settings, keyframe
    VDO_INTENT_MONITOR Monitor events using g_signal
    VDO_INTENT_CONSUME The client intends to stream
    VDO_INTENT_PRODUCE The client intends to inject frames
    VDO_INTENT_DEFAULT Grants CONSUME and CONTROL
    VDO_INTENT_EVENTFD Monitor events using file descriptors
    VDO_INTENT_UNIVERSE Everything except VDO_INTENT_EVENTFD
    +

    In order to save resources enable as few intents as possible.

    +
    g_autoptr(VdoMap) intent = vdo_map_new();
    g_autoptr(VdoStream) stream = vdo_stream_get(id, NULL);
    vdo_map_set_uint32(intent, "intent", VDO_INTENT_EVENTFD);
    if (!vdo_stream_attach(stream, intent, &error))
    g_error("Error: %s", error->message);
    Returns
    TRUE on success, FALSE is error is set.
    + +
    +
    + +

    ◆ vdo_stream_buffer_alloc()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    VdoBuffer* vdo_stream_buffer_alloc (VdoStreamself,
    gpointer opaque,
    GError ** error 
    )
    +
    + +

    Allocates a new buffer for this stream.

    +

    Invoke this function in order to allocate a new buffer for this video stream. The vdo service performs the actual memory allocation and owns the buffer. A handle to the allocated buffer is returned in the form of a VdoBuffer.

    +
    Note
      +
    • This function is synchronous and will block until a response from the vdo service is received.
    • +
    • This function can only be invoked for non-encoded video streams.
    • +
    +
    +
    Parameters
    + + + + +
    selfA VdoStream.
    opaqueA user data pointer.
    errorA location to return an error.
    +
    +
    +
    Returns
    A VdoBuffer on success, NULL if error is set.
    + +
    +
    + +

    ◆ vdo_stream_buffer_enqueue()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_stream_buffer_enqueue (VdoStreamself,
    VdoBuffer * buffer,
    GError ** error 
    )
    +
    + +

    Enqueue a buffer for this video stream.

    +

    Invoking this function equeues the specified VdoBuffer in the internal queue of this video stream in order to be subsequently filled with frame data.

    +
    Parameters
    + + + + +
    selfA VdoStream.
    bufferA VdoBuffer.
    errorA location to return an error.
    +
    +
    +
    Returns
    TRUE on success, FALSE if error is set.
    + +
    +
    + +

    ◆ vdo_stream_buffer_unref()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_stream_buffer_unref (VdoStreamself,
    VdoBuffer ** buffer,
    GError ** error 
    )
    +
    + +

    Decreases the reference count for the specified buffer.

    +

    The buffer is freed by the vdo service when the reference count reaches 0.

    +
    Note
      +
    • This function is synchronous and will block until a response from the vdo service is received.
    • +
    +
    +
    Parameters
    + + + + +
    selfA VdoStream.
    bufferA pointer to a VdoBuffer pointer.
    errorA location to return an error.
    +
    +
    +
    Returns
    TRUE on success, FALSE if error is set.
    + +
    +
    + +

    ◆ vdo_stream_force_key_frame()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    gboolean vdo_stream_force_key_frame (VdoStreamself,
    GError ** error 
    )
    +
    + +

    Forces this video stream to insert a key frame.

    +

    This function is invoked in order to force a key frame into a video stream. Invoking this functionon a video stream with a format that is not a video format (e.g. H.264 or H.265) will have no effect.

    +
    Parameters
    + + + +
    selfA VdoStream.
    errorA location to return an error.
    +
    +
    +
    Returns
    TRUE on success, FALSE if error is set.
    + +
    +
    + +

    ◆ vdo_stream_get()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoStream* vdo_stream_get (guint id,
    GError ** error 
    )
    +
    + +

    Get an existing video stream.

    +

    Create a new VdoStream object representing an existing video stream session with the specified id.

    +
    Parameters
    + + + +
    idA video stream id
    errorA location to return an error.
    +
    +
    +
    Returns
    A VdoStream or NULL on error. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_stream_get_all()

    + +
    +
    + + + + + + + + +
    GList* vdo_stream_get_all (GError ** error)
    +
    + +

    Gets all existing video streams.

    +

    Create new VdoStream objects representing each existing video stream session and return those in a GList.

    +
    Parameters
    + + +
    errorA location to return an error.
    +
    +
    +
    Returns
    A GList containing VdoStream objects or NULL on error. Free with g_list_free_full(list, g_object_unref).
    + +
    +
    + +

    ◆ vdo_stream_get_buffer()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoBuffer* vdo_stream_get_buffer (VdoStreamself,
    GError ** error 
    )
    +
    + +

    Fetches a VdoBuffer containing a frame.

    +

    Stream global settings which control the behavior of this function: "socket.blocking" (default: TRUE) "socket.timeout_ms"

    +

    The following errors are transient: VDO_ERROR_NO_DATA Recover by fetching the next buffer. The following errors are expected to occur during maintenance: VDO_ERROR_INTERFACE_DOWN Recover by waiting for the service to restart. Complete VdoStream reinitialization is necessary. All remaining errors are fatal: Complete VdoStream reinitialization is necessary.

    +
    Parameters
    + + + +
    selfA VdoStream
    errorLocation to store an error or NULL
    +
    +
    +
    Returns
    A VdoBuffer, or NULL if error is set. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_stream_get_event()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoMap* vdo_stream_get_event (VdoStreamself,
    GError ** error 
    )
    +
    + +

    Fetches the next Event.

    +

    This function is always non-blocking, it is intended to be used together with vdo_stream_get_event_fd and poll to detect when new events occur.

    +

    See VdoStreamEvent for the list of possible events, the current event is returned in the VdoMap "event" field.

    +

    The following errors are transient: VDO_ERROR_NO_EVENT The equivalent of EAGAIN, i.e. there's currently no event. The following errors are expected to occur during maintenance: VDO_ERROR_INTERFACE_DOWN Recover by waiting for the service to restart. Complete VdoStream reinitialization is necessary. All remaining errors are fatal: Complete VdoStream reinitialization is necessary.

    +
    g_autoptr(VdoMap) settings = vdo_map_new();
    vdo_map_set_uint32(settings, "intent", VDO_INTENT_DEFAULT | VDO_INTENT_EVENTFD);
    g_autoptr(VdoStream) stream = vdo_stream_new(settings, NULL, &error);
    if (!stream)
    return;
    if (!vdo_stream_start(stream, &error))
    return;
    int fd = vdo_stream_get_fd(stream, &error);
    if (fd < 0)
    return;
    struct pollfd fds = {
    .fd = fd,
    .events = POLL_IN,
    };
    while (1) {
    if (poll(&fds, 1, -1) < 1)
    return;
    g_autoptr(VdoMap) event = vdo_stream_get_event(stream, &error);
    if (!event)
    return;
    switch(vdo_map_get_uint32(event, "event", VDO_STREAM_EVENT_NONE)) {
    default: break;
    }
    }
    Parameters
    + + + +
    selfA VdoStream
    errorLocation to store an error or NULL
    +
    +
    +
    Returns
    A VdoMap, or NULL if error is set. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_stream_get_event_fd()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    gint vdo_stream_get_event_fd (VdoStreamself,
    GError ** error 
    )
    +
    + +

    Returns a file descriptor for prioritized events.

    +

    This requires VDO_INTENT_EVENTFD and is intended to be used together with the vdo_stream_get_event function.

    +
    Parameters
    + + + +
    selfA VdoStream.
    errorA location to return an error.
    +
    +
    +
    Returns
    A file descriptor or -1 on error.
    + +
    +
    + +

    ◆ vdo_stream_get_fd()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    gint vdo_stream_get_fd (VdoStreamself,
    GError ** error 
    )
    +
    + +

    Returns a file descriptor representing the underlying socket connection.

    +

    The file descriptor returned by this function represents the underlying socket based connection to the vdo service. The returned file descriptor can by used as an event source in an event loop to handle asynchronous I/O events.

    +
    Parameters
    + + + +
    selfA VdoStream.
    errorA location to return an error.
    +
    +
    +
    Returns
    A file descriptor or -1 on error.
    + +
    +
    + +

    ◆ vdo_stream_get_id()

    + +
    +
    + + + + + + + + +
    guint vdo_stream_get_id (VdoStreamself)
    +
    + +

    Returns the id of this video stream.

    +
    Parameters
    + + +
    selfA VdoStream
    +
    +
    +
    Returns
    A video stream id.
    + +
    +
    + +

    ◆ vdo_stream_get_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoMap* vdo_stream_get_info (VdoStreamself,
    GError ** error 
    )
    +
    + +

    Get the info for this video stream.

    +

    This function is called in order to get a pointer to the info map for this video stream. The returned pointer is a pointer to a newly allocated VdoMap owned by the caller of this function. For example:

    +
    VdoMap *info = vdo_stream_get_info(stream, &error);
    guint value = vdo_map_get_uint32(info, "name", 0);
    g_object_unref(info);
    Parameters
    + + + +
    selfA VdoStream.
    errorA location to return an error.
    +
    +
    +
    Returns
    A pointer to a VdoMap owned by this video stream, or NULL if error is set. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_stream_get_settings()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoMap* vdo_stream_get_settings (VdoStreamself,
    GError ** error 
    )
    +
    + +

    Get the settings for this video stream.

    +

    This function is called in order to get a pointer to the settings map for this video stream. The returned pointer is a pointer to a newly allocated VdoMap owned by the caller of this function. For example:

    +
    VdoMap *settings = vdo_stream_get_settings(stream, &error);
    guint value = vdo_map_get_uint32(settings, "name", 0);
    g_object_unref(settings);
    Parameters
    + + + +
    selfA VdoStream.
    errorA location to return an error.
    +
    +
    +
    Returns
    A pointer to a VdoMap owned by this video stream, or NULL if error is set. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_stream_new()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    VdoStream* vdo_stream_new (VdoMapsettings,
    VdoBufferFinalizer fin,
    GError ** error 
    )
    +
    + +

    Create a new VdoStream.

    +

    Create a new VdoStream object representing a video stream session.

    +
    Parameters
    + + + + +
    settingsA VdoMap containing settings for the new video stream.
    finThe VdoBufferFinalizer is called before buffers are finalized.
    errorA location to return an error.
    +
    +
    +
    Returns
    A VdoStream or NULL on error. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_stream_set_framerate()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_stream_set_framerate (VdoStreamself,
    gdouble framerate,
    GError ** error 
    )
    +
    + +

    Update the framerate for this video stream.

    +

    This function is invoked in order to update the framerate of a video stream. For this API to be used, the stream needs one or more of the following stream settings to be applied before the stream is started:

    +

    1) Dynamic framerate is enabled (dynamic.framerate = TRUE) 2) Zipstream fps mode is set to dynamic (zip.fps_mode = 1)

    +
    gdouble framerate = 30.0;
    if (!vdo_stream_set_framerate(stream, framerate, &error)) {
    g_error("Error: %s", error->message);
    }
    Parameters
    + + + + +
    selfA VdoStream.
    framerateA framerate.
    errorA location to return an error.
    +
    +
    +
    Returns
    TRUE on success, FALSE if error is set.
    + +
    +
    + +

    ◆ vdo_stream_set_settings()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    gboolean vdo_stream_set_settings (VdoStreamself,
    VdoMapsettings,
    GError ** error 
    )
    +
    + +

    Update the settings for this video stream.

    +

    This function is invoked in order to update the settings of a video stream. The caller owns the VdoMap containing the new/updated settings.

    +
    VdoMap *settings = vdo_map_new();
    vdo_map_set_uint32(settings, "name", value);
    if (!vdo_stream_set_settings(stream, settings, &error)) {
    g_error("Error: %s", error->message);
    }
    g_object_unref(settings);
    Parameters
    + + + + +
    selfA VdoStream.
    settingsA VdoMap containing new/updated settings.
    errorA location to return an error.
    +
    +
    +
    Returns
    TRUE on success, FALSE if error is set.
    + +
    +
    + +

    ◆ vdo_stream_snapshot()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    VdoBuffer* vdo_stream_snapshot (VdoMapsettings,
    GError ** error 
    )
    +
    + +

    Fetches a single VdoBuffer containing a frame.

    +

    Convenience function for fetching a single frame. The setup and teardown overhead is too high for continuous streaming.

    +

    Free the buffer with g_object_unref.

    +
    Parameters
    + + + +
    settingsA map of stream settings
    errorLocation to store an error or NULL
    +
    +
    +
    Returns
    A VdoBuffer, or NULL if error is set. Free with g_object_unref().
    + +
    +
    + +

    ◆ vdo_stream_start()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    gboolean vdo_stream_start (VdoStreamself,
    GError ** error 
    )
    +
    + +

    Start this video stream.

    +

    This function is invoked in order to start a video stream.

    +
    Parameters
    + + + +
    selfA VdoStream.
    errorA location to return an error.
    +
    +
    +
    Returns
    TRUE on success, FALSE if error is set.
    + +
    +
    + +

    ◆ vdo_stream_stop()

    + +
    +
    + + + + + + + + +
    void vdo_stream_stop (VdoStreamself)
    +
    + +

    Stop this video stream.

    +

    This function is invoked in order to stop a video stream.

    +
    Parameters
    + + +
    selfA VdoStream.
    +
    +
    + +
    +
    + +

    ◆ vdo_stream_to_fd()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VdoStream* vdo_stream_to_fd (VdoMapsettings,
    int data_fd,
    int meta_fd,
    GError ** error 
    )
    +
    + +

    Create and start a new stream to already existing file descriptors.

    +

    This is a convenience function without VdoBuffer support, instead the stream will output data and metadata to two separate file descriptors.

    +

    NOTE: metadata is not implemented yet, set meta_fd to -1.

    +

    When done with the stream, free it with g_object_unref before closing the file descriptors.

    +
    Parameters
    + + + + + +
    settingsA map of stream settings
    data_fdAn fd to send stream data
    meta_fdAn fd to send stream metadata
    errorLocation to store an error or NULL
    +
    +
    +
    Returns
    A VdoStream or NULL on error. Free with g_object_unref().
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h.js new file mode 100644 index 0000000..269597c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h.js @@ -0,0 +1,25 @@ +var vdo_stream_8h = +[ + [ "vdo_stream_attach", "vdo-stream_8h.html#aba5b4264502272caae02a621f3bad63c", null ], + [ "vdo_stream_buffer_alloc", "vdo-stream_8h.html#a18ff54d35650a8fa4a00da2198b4b2d3", null ], + [ "vdo_stream_buffer_enqueue", "vdo-stream_8h.html#a897b1e6d50e00aa8974511b4625cbad3", null ], + [ "vdo_stream_buffer_unref", "vdo-stream_8h.html#a5c13ae89ffee889aebf1a9b6c3bc3594", null ], + [ "vdo_stream_encode", "vdo-stream_8h.html#ab23967fe651d2053ae66399ded224dff", null ], + [ "vdo_stream_force_key_frame", "vdo-stream_8h.html#a32ba781b100c13c7b70e0f700bbce268", null ], + [ "vdo_stream_get", "vdo-stream_8h.html#a07e12d4c5d79563413711dcdc6085171", null ], + [ "vdo_stream_get_all", "vdo-stream_8h.html#ac21dc2bb1e463b20cca05213739e505c", null ], + [ "vdo_stream_get_buffer", "vdo-stream_8h.html#a021f68451699a9ca04aa0e67d9b2917e", null ], + [ "vdo_stream_get_event", "vdo-stream_8h.html#af416bd3ec1edf4055c554e0f78b7b9f9", null ], + [ "vdo_stream_get_event_fd", "vdo-stream_8h.html#acbdc222c597329e543ba85f330526b12", null ], + [ "vdo_stream_get_fd", "vdo-stream_8h.html#a81faad176c49398f0a0b9826fb7c31f8", null ], + [ "vdo_stream_get_id", "vdo-stream_8h.html#afbd3cb015a9d186123d534068db46749", null ], + [ "vdo_stream_get_info", "vdo-stream_8h.html#a6368c8c989cbea997947d433dce6a3cb", null ], + [ "vdo_stream_get_settings", "vdo-stream_8h.html#ad1279257f13b9a406a0df2558f10123e", null ], + [ "vdo_stream_new", "vdo-stream_8h.html#a36fa0021eb58d482c494163db9b22b61", null ], + [ "vdo_stream_set_framerate", "vdo-stream_8h.html#af43f6acfe327b99037ea1e046788e7b5", null ], + [ "vdo_stream_set_settings", "vdo-stream_8h.html#affa9aec868d9c2fd1f39f44aa63adaf2", null ], + [ "vdo_stream_snapshot", "vdo-stream_8h.html#a4b4c0f2124280bde265491c08bd2f47c", null ], + [ "vdo_stream_start", "vdo-stream_8h.html#a5a366f51af1a7171a6739d191ca1e113", null ], + [ "vdo_stream_stop", "vdo-stream_8h.html#a5e28776ff99b3ecf0b996630eacb4f89", null ], + [ "vdo_stream_to_fd", "vdo-stream_8h.html#aa327d3bc31376dd3edebc15a4491a13e", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h__incl.dot new file mode 100644 index 0000000..cab0951 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h__incl.dot @@ -0,0 +1,23 @@ +digraph "vdo-stream.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="vdo-stream.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node0 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="vdo-types.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-types_8h.html",tooltip="Vdo common type definitions. "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="glib-object.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; + Node0 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="vdo-frame.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-frame_8h.html",tooltip="A video frame. "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="vdo-map.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-map_8h.html",tooltip="A class representing a dictionary mapping keys to values. "]; + Node4 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="gio/gio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; + Node0 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="vdo-buffer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-buffer_8h.html",tooltip="A memory buffer. "]; + Node6 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node0 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node0 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h__incl.md5 new file mode 100644 index 0000000..92fd590 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h__incl.md5 @@ -0,0 +1 @@ +b06ea53ffb67f40bbcbae2be9a9d7e42 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h_source.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h_source.html new file mode 100644 index 0000000..e168d52 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-stream_8h_source.html @@ -0,0 +1,125 @@ + + + + + + + +libvdo: vdo-stream.h Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    vdo-stream.h
    +
    +
    +Go to the documentation of this file.
    1 
    103 #ifndef __VDO_STREAM_H__
    104 #define __VDO_STREAM_H__
    105 
    106 #include "vdo-types.h"
    107 #include "vdo-frame.h"
    108 #include "vdo-buffer.h"
    109 #include "vdo-map.h"
    110 
    111 #include <glib-object.h>
    112 
    113 G_BEGIN_DECLS
    114 
    115 #define VDO_GETFRAME_NONBLOCK (0)
    116 
    121 #define VDO_TYPE_STREAM (vdo_stream_get_type())
    122 G_DECLARE_FINAL_TYPE(VdoStream, vdo_stream, VDO, STREAM, GObject)
    123 
    124 
    135 VdoStream *vdo_stream_new(VdoMap *settings, VdoBufferFinalizer fin, GError **error);
    136 
    148 VdoStream *vdo_stream_get(guint id, GError **error);
    149 
    161 GList *vdo_stream_get_all(GError **error);
    162 
    170 guint vdo_stream_get_id(VdoStream *self);
    171 
    184 gint vdo_stream_get_fd(VdoStream *self, GError **error);
    185 
    197 gint vdo_stream_get_event_fd(VdoStream *self, GError **error);
    198 
    218 VdoMap *vdo_stream_get_info(VdoStream *self, GError **error);
    219 
    239 VdoMap *vdo_stream_get_settings(VdoStream *self, GError **error);
    240 
    262 gboolean vdo_stream_set_settings(VdoStream *self, VdoMap *settings,
    263  GError **error);
    264 
    288 gboolean vdo_stream_set_framerate(VdoStream *self, gdouble framerate,
    289  GError **error);
    290 
    326 gboolean vdo_stream_attach(VdoStream *self, VdoMap *intent, GError **error);
    327 
    338 gboolean vdo_stream_start(VdoStream *self, GError **error);
    339 
    347 void vdo_stream_stop(VdoStream *self);
    348 
    361 gboolean vdo_stream_force_key_frame(VdoStream *self, GError **error);
    362 
    363 /*
    364 ** The vdo-stream allocation API:s have the following limitations:
    365 ** 1. Buffer alloc/unref are fully synchronous and will BLOCK.
    366 ** 2. Buffer alloc/unref does not support encoded streams (vdo_format_is_encoded).
    367 ** Use the stream global setting "socket.timeout_ms" to control maximum blocking time.
    368 */
    369 
    388 VdoBuffer *vdo_stream_buffer_alloc(VdoStream *self, gpointer opaque, GError **error);
    389 
    405 gboolean vdo_stream_buffer_unref(VdoStream *self, VdoBuffer **buffer, GError **error);
    406 
    419 gboolean vdo_stream_buffer_enqueue(VdoStream *self, VdoBuffer *buffer, GError **error);
    420 
    443 VdoBuffer *vdo_stream_get_buffer(VdoStream *self, GError **error);
    444 
    463 VdoStream *vdo_stream_to_fd(VdoMap *settings, int data_fd, int meta_fd, GError **error);
    464 
    478 VdoBuffer *vdo_stream_snapshot(VdoMap *settings, GError **error);
    479 
    498 gboolean vdo_stream_encode(VdoStream *self, VdoBuffer **in_buf, VdoMap *settings, GError **error);
    500 
    560 VdoMap *vdo_stream_get_event(VdoStream *self, GError **error);
    561 
    563 // Deprecated (See vdo_stream_buffer_enqueue) //
    565 gboolean vdo_stream_enqueue_buffer(VdoStream *self,
    566  gint fd,
    567  guint64 offset,
    568  gsize max_size,
    569  gpointer opaque,
    570  GError **error);
    571 
    572 G_END_DECLS
    573 
    574 #endif
    A memory buffer.
    +
    VdoMap * vdo_stream_get_info(VdoStream *self, GError **error)
    Get the info for this video stream.
    +
    gboolean vdo_stream_force_key_frame(VdoStream *self, GError **error)
    Forces this video stream to insert a key frame.
    +
    VdoStream * vdo_stream_new(VdoMap *settings, VdoBufferFinalizer fin, GError **error)
    Create a new VdoStream.
    +
    A class representing a dictionary mapping keys to values.
    +
    Vdo common type definitions.
    +
    gboolean vdo_stream_buffer_enqueue(VdoStream *self, VdoBuffer *buffer, GError **error)
    Enqueue a buffer for this video stream.
    +
    gint vdo_stream_get_fd(VdoStream *self, GError **error)
    Returns a file descriptor representing the underlying socket connection.
    +
    VdoMap * vdo_stream_get_event(VdoStream *self, GError **error)
    Fetches the next Event.
    +
    gboolean vdo_stream_attach(VdoStream *self, VdoMap *intent, GError **error)
    Attach to a Stream.
    +
    VdoMap * vdo_stream_get_settings(VdoStream *self, GError **error)
    Get the settings for this video stream.
    +
    VdoBuffer * vdo_stream_buffer_alloc(VdoStream *self, gpointer opaque, GError **error)
    Allocates a new buffer for this stream.
    +
    gboolean vdo_stream_start(VdoStream *self, GError **error)
    Start this video stream.
    +
    A video stream.
    +
    gboolean vdo_stream_set_framerate(VdoStream *self, gdouble framerate, GError **error)
    Update the framerate for this video stream.
    +
    VdoStream * vdo_stream_get(guint id, GError **error)
    Get an existing video stream.
    +
    gboolean vdo_stream_buffer_unref(VdoStream *self, VdoBuffer **buffer, GError **error)
    Decreases the reference count for the specified buffer.
    +
    GList * vdo_stream_get_all(GError **error)
    Gets all existing video streams.
    +
    guint vdo_stream_get_id(VdoStream *self)
    Returns the id of this video stream.
    +
    A class representing a dictionary mapping keys to values.
    +
    gint vdo_stream_get_event_fd(VdoStream *self, GError **error)
    Returns a file descriptor for prioritized events.
    +
    gboolean vdo_stream_set_settings(VdoStream *self, VdoMap *settings, GError **error)
    Update the settings for this video stream.
    +
    VdoStream * vdo_stream_to_fd(VdoMap *settings, int data_fd, int meta_fd, GError **error)
    Create and start a new stream to already existing file descriptors.
    +
    VdoBuffer * vdo_stream_snapshot(VdoMap *settings, GError **error)
    Fetches a single VdoBuffer containing a frame.
    +
    A video frame.
    +
    void vdo_stream_stop(VdoStream *self)
    Stop this video stream.
    +
    VdoBuffer * vdo_stream_get_buffer(VdoStream *self, GError **error)
    Fetches a VdoBuffer containing a frame.
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h.html new file mode 100644 index 0000000..74c32ea --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h.html @@ -0,0 +1,843 @@ + + + + + + + +libvdo: vdo-types.h File Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    vdo-types.h File Reference
    +
    +
    + +

    Vdo common type definitions. +More...

    +
    #include <glib-object.h>
    +
    +Include dependency graph for vdo-types.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  VdoChunk
     A video chunk. More...
     
    struct  VdoMemChunk
     A memory chunk. More...
     
    struct  VdoResolution
     A resolution. More...
     
    struct  VdoResolutionSet
     A set of resolutions. More...
     
    struct  VdoRect
     A rectangle. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Enumerations

    enum  VdoWdrMode
     Wide Dynamic Range (WDR) modes. More...
     
    enum  VdoFormat
     Video formats. More...
     
    enum  VdoH264Profile
     H.264 profiles. More...
     
    enum  VdoH265Profile
     H.265 profiles. More...
     
    enum  VdoRateControlMode
     Bitrate control modes. More...
     
    enum  VdoRateControlPriority
     Bitrate control priorities. More...
     
    enum  VdoFrameType
     Video frame types. More...
     
    enum  VdoZipStreamProfile
     Zipstream profiles. More...
     
    enum  VdoChunkType
     Video chunk types. More...
     
    enum  VdoStreamTimestamp
     Timestamp types. More...
     
    enum  VdoIntent
     Intent values. More...
     
    enum  VdoStreamEvent
     Stream related events. More...
     
    enum  VdoBufferAccess
     Buffer access definitions. More...
     
    enum  VdoBufferStrategy
     Buffer strategy. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    GType vdo_wdr_mode_get_type (void)
     Get wdr mode type. More...
     
    GType vdo_format_get_type (void)
     Get vdo format type. More...
     
    GType vdo_h264_profile_get_type (void)
     Get h264 profile type. More...
     
    GType vdo_h265_profile_get_type (void)
     Get h265 profile type. More...
     
    GType vdo_zipstream_profile_get_type (void)
     Get zipstream profile type. More...
     
    GType vdo_rate_control_mode_get_type (void)
     Get rate control mode type. More...
     
    GType vdo_rate_control_priority_get_type (void)
     Get rate control priority type. More...
     
    GType vdo_frame_type_get_type (void)
     Get vdo frame type. More...
     
    +

    Detailed Description

    +

    Vdo common type definitions.

    +

    Copyright (C) 2016-2019, Axis Communications AB, Lund

    +

    Enumeration Type Documentation

    + +

    ◆ VdoBufferAccess

    + +
    +
    + + + + +
    enum VdoBufferAccess
    +
    + +

    Buffer access definitions.

    +

    Specifies how buffers allocated and provided by vdo are about to be accessed.

    +

    The Range [CPU_RD..ANY_RD] is ReadOnly The Range [CPU_WR..ANY_WR] is WriteOnly The Range [CPU_RW..ANY_RW] is ReadWrite

    + + + + + + + + + + + +
    Enumerator
    VDO_BUFFER_ACCESS_NONE 

    None

    +
    VDO_BUFFER_ACCESS_CPU_RD 

    CPU exclusive read only access.

    +
    VDO_BUFFER_ACCESS_DEV_RD 

    Device exclusive read only access.

    +
    VDO_BUFFER_ACCESS_ANY_RD 

    CPU/device read only access.

    +
    VDO_BUFFER_ACCESS_CPU_WR 

    CPU exclusive write access.

    +
    VDO_BUFFER_ACCESS_DEV_WR 

    Device exclusive write access.

    +
    VDO_BUFFER_ACCESS_ANY_WR 

    CPU/device write only access.

    +
    VDO_BUFFER_ACCESS_CPU_RW 

    CPU exclusive read/write access.

    +
    VDO_BUFFER_ACCESS_DEV_RW 

    Device exclusive read/write access.

    +
    VDO_BUFFER_ACCESS_ANY_RW 

    CPU/device read/write access.

    +
    + +
    +
    + +

    ◆ VdoBufferStrategy

    + +
    +
    + + + + +
    enum VdoBufferStrategy
    +
    + +

    Buffer strategy.

    +

    A buffer strategy defines how buffer lifetime management is handled. That includes allocation and ownership.

    + + + + + + +
    Enumerator
    VDO_BUFFER_STRATEGY_NONE 

    None

    +
    VDO_BUFFER_STRATEGY_INPUT 

    Lifetime is managed by an external entity (Virtual Input).

    +
    VDO_BUFFER_STRATEGY_EXTERNAL 

    Lifetime is managed by an external entity. (Not Supported)

    +
    VDO_BUFFER_STRATEGY_EXPLICIT 

    Lifetime is managed by 'buffer_alloc' and 'buffer_unref'.

    +
    VDO_BUFFER_STRATEGY_INFINITE 

    VDO creates a new buffer for every transfer.

    +
    + +
    +
    + +

    ◆ VdoChunkType

    + +
    +
    + + + + +
    enum VdoChunkType
    +
    + +

    Video chunk types.

    + + + +
    Enumerator
    VDO_CHUNK_NONE 

    None

    +
    VDO_CHUNK_ERROR 

    Error

    +
    + +
    +
    + +

    ◆ VdoFormat

    + +
    +
    + + + + +
    enum VdoFormat
    +
    + +

    Video formats.

    + + + + + + + + + + + + +
    Enumerator
    VDO_FORMAT_NONE 

    None

    +
    VDO_FORMAT_H264 

    H.264

    +
    VDO_FORMAT_H265 

    H.265

    +
    VDO_FORMAT_JPEG 

    JPEG

    +
    VDO_FORMAT_YUV 

    YUV

    +
    VDO_FORMAT_BAYER 

    Deprecated

    +
    VDO_FORMAT_IVS 

    Deprecated

    +
    VDO_FORMAT_RAW 

    Raw (Restricted)

    +
    VDO_FORMAT_RGBA 

    RGBA

    +
    VDO_FORMAT_RGB 

    RGB

    +
    VDO_FORMAT_PLANAR_RGB 

    Planar RGB

    +
    + +
    +
    + +

    ◆ VdoFrameType

    + +
    +
    + + + + +
    enum VdoFrameType
    +
    + +

    Video frame types.

    + + + + + + + + + + + + + + + + + + + + + + + +
    Enumerator
    VDO_FRAME_TYPE_NONE 

    None

    +
    VDO_FRAME_TYPE_H264_SPS 

    H.264 Sequence Parameter Set (SPS)

    +
    VDO_FRAME_TYPE_H264_PPS 

    H.264 Picture Parameter Set (PPS)

    +
    VDO_FRAME_TYPE_H264_SEI 

    H.264 Supplemental Enhancement Information (SEI)

    +
    VDO_FRAME_TYPE_H264_IDR 

    H.264 Instantaneous Decoder Refresh (IDR)

    +
    VDO_FRAME_TYPE_H264_I 

    H.264 I-slice

    +
    VDO_FRAME_TYPE_H264_P 

    H.264 P-slice

    +
    VDO_FRAME_TYPE_H264_B 

    H.264 B-slice

    +
    VDO_FRAME_TYPE_H265_SPS 

    H.265 Sequence Parameter Set (SPS)

    +
    VDO_FRAME_TYPE_H265_PPS 

    H.265 Picture Parameter Set (PPS)

    +
    VDO_FRAME_TYPE_H265_VPS 

    H.265 Video Parameter Set (VPS)

    +
    VDO_FRAME_TYPE_H265_SEI 

    H.265 Supplemental Enhancement Information (SEI)

    +
    VDO_FRAME_TYPE_H265_IDR 

    H.265 Instantaneous Decoder Refresh (IDR)

    +
    VDO_FRAME_TYPE_H265_I 

    H.265 I-slice

    +
    VDO_FRAME_TYPE_H265_P 

    H.265 P-slice

    +
    VDO_FRAME_TYPE_H265_B 

    H.265 B-slice

    +
    VDO_FRAME_TYPE_JPEG 

    JPEG image

    +
    VDO_FRAME_TYPE_YUV 

    YUV image

    +
    VDO_FRAME_TYPE_RAW 

    RAW image

    +
    VDO_FRAME_TYPE_RGBA 

    RGBA image

    +
    VDO_FRAME_TYPE_RGB 

    RGB image

    +
    VDO_FRAME_TYPE_PLANAR_RGB 

    Planar RGB image

    +
    + +
    +
    + +

    ◆ VdoH264Profile

    + +
    +
    + + + + +
    enum VdoH264Profile
    +
    + +

    H.264 profiles.

    + + + + + +
    Enumerator
    VDO_H264_PROFILE_NONE 

    None

    +
    VDO_H264_PROFILE_BASELINE 

    Baseline

    +
    VDO_H264_PROFILE_MAIN 

    Main

    +
    VDO_H264_PROFILE_HIGH 

    High

    +
    + +
    +
    + +

    ◆ VdoH265Profile

    + +
    +
    + + + + +
    enum VdoH265Profile
    +
    + +

    H.265 profiles.

    + + + + +
    Enumerator
    VDO_H265_PROFILE_NONE 

    None

    +
    VDO_H265_PROFILE_MAIN 

    Main

    +
    VDO_H265_PROFILE_MAIN_10 

    Main 10-bit

    +
    + +
    +
    + +

    ◆ VdoIntent

    + +
    +
    + + + + +
    enum VdoIntent
    +
    + +

    Intent values.

    +

    An intent describes how a client intends to make use of a resource, e.g. a VdoStream. Beware VDO_INTENT_MONITOR and VDO_INTENT_EVENTFD are mutually exclusive.

    + + + + + + + + + +
    Enumerator
    VDO_INTENT_NONE 

    None

    +
    VDO_INTENT_CONTROL 

    The client intends to control the resource

    +
    VDO_INTENT_MONITOR 

    The client intends to monitor the resource using g_signal

    +
    VDO_INTENT_CONSUME 

    The client intends to consume the resource

    +
    VDO_INTENT_PRODUCE 

    The client intends to produce the resource

    +
    VDO_INTENT_DEFAULT 

    Default, consume + control

    +
    VDO_INTENT_EVENTFD 

    Monitor resources using file descriptors

    +
    VDO_INTENT_UNIVERSE 

    Everything except VDO_INTENT_EVENTFD

    +
    + +
    +
    + +

    ◆ VdoRateControlMode

    + +
    +
    + + + + +
    enum VdoRateControlMode
    +
    + +

    Bitrate control modes.

    + + + + + + +
    Enumerator
    VDO_RATE_CONTROL_MODE_NONE 

    None

    +
    VDO_RATE_CONTROL_MODE_CBR 

    Constant bitrate

    +
    VDO_RATE_CONTROL_MODE_VBR 

    Variable bitrate

    +
    VDO_RATE_CONTROL_MODE_MBR 

    Maximum bitrate

    +
    VDO_RATE_CONTROL_MODE_ABR 

    Average bitrate

    +
    + +
    +
    + +

    ◆ VdoRateControlPriority

    + +
    +
    + + + + +
    enum VdoRateControlPriority
    +
    + +

    Bitrate control priorities.

    + + + + + +
    Enumerator
    VDO_RATE_CONTROL_PRIORITY_NONE 

    None

    +
    VDO_RATE_CONTROL_PRIORITY_FRAMERATE 

    Prioritize framerate

    +
    VDO_RATE_CONTROL_PRIORITY_QUALITY 

    Prioritize quality

    +
    VDO_RATE_CONTROL_PRIORITY_FULL_FRAMERATE 

    Prioritize full framerate

    +
    + +
    +
    + +

    ◆ VdoStreamEvent

    + +
    +
    + + + + +
    enum VdoStreamEvent
    +
    + +

    Stream related events.

    +

    Important asynchronous stream events, see vdo_stream_get_event.

    + + + + + + + + + +
    Enumerator
    VDO_STREAM_EVENT_NONE 

    None

    +
    VDO_STREAM_EVENT_STARTED 

    The stream started

    +
    VDO_STREAM_EVENT_STOPPED 

    The stream stopped

    +
    VDO_STREAM_EVENT_RESOURCE 

    Current resource usage

    +
    VDO_STREAM_EVENT_QUOTA_SOFT 

    Warning above soft quota

    +
    VDO_STREAM_EVENT_QUOTA_HARD 

    Error hard quota hit

    +
    VDO_STREAM_EVENT_ZIPSTREAM 

    Zipstream settings

    +
    VDO_STREAM_EVENT_INVALID 

    Invalid event

    +
    + +
    +
    + +

    ◆ VdoStreamTimestamp

    + +
    +
    + + + + +
    enum VdoStreamTimestamp
    +
    + +

    Timestamp types.

    + + + + + + + + + +
    Enumerator
    VDO_TIMESTAMP_NONE 

    None

    +
    VDO_TIMESTAMP_UTC 

    Value can be read from custom_timestamp, real_time

    +
    VDO_TIMESTAMP_ZIPSTREAM 

    Value can be read from timestamp. dsp_pts for zipstream and mono_pts for non-zipstream.

    +
    VDO_TIMESTAMP_MONO_CAPTURE 

    Value can be read from timestamp, dsp_pts for zipstream and mono_pts for non-zipstream.

    +
    VDO_TIMESTAMP_MONO_SERVER 

    Value can be read from custom_timestamp which shows server timestamp, monotonic_time.

    +
    VDO_TIMESTAMP_MONO_CLIENT 

    Value can be read from custom_timestamp which shows client timestamp, monotonic_time.

    +
    VDO_TIMESTAMP_MONO_CLIENT_SERVER_DIFF 

    Value can be read from custom_timestamp which shows the diff between client and server timestamp.

    +
    VDO_TIMESTAMP_MONO_CLIENT_CAPTURE_DIFF 

    Value can be read from custom_timestamp which shows the diff between client and capture timestamp.

    +
    + +
    +
    + +

    ◆ VdoWdrMode

    + +
    +
    + + + + +
    enum VdoWdrMode
    +
    + +

    Wide Dynamic Range (WDR) modes.

    + + + + + + + +
    Enumerator
    VDO_WDR_MODE_NONE 

    None

    +
    VDO_WDR_MODE_LINEAR 

    Linear

    +
    VDO_WDR_MODE_2X 

    2 exposures

    +
    VDO_WDR_MODE_3X 

    3 exposures

    +
    VDO_WDR_MODE_4X 

    4 exposures

    +
    VDO_WDR_MODE_SENSOR 

    Sensor internal

    +
    + +
    +
    + +

    ◆ VdoZipStreamProfile

    + +
    +
    + + + + +
    enum VdoZipStreamProfile
    +
    + +

    Zipstream profiles.

    + + + + + +
    Enumerator
    VDO_ZIPSTREAM_PROFILE_NONE 

    None

    +
    VDO_ZIPSTREAM_PROFILE_CLASSIC 

    Classic

    +
    VDO_ZIPSTREAM_PROFILE_STORAGE 

    Storage

    +
    VDO_ZIPSTREAM_PROFILE_LIVE 

    Live

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ vdo_format_get_type()

    + +
    +
    + + + + + + + + +
    GType vdo_format_get_type (void )
    +
    + +

    Get vdo format type.

    +
    Returns
    GType: none,h264,h265,jpeg,yuv,bayer,raw
    + +
    +
    + +

    ◆ vdo_frame_type_get_type()

    + +
    +
    + + + + + + + + +
    GType vdo_frame_type_get_type (void )
    +
    + +

    Get vdo frame type.

    +
    Returns
    GType: none,h264-sps,h264-pps,h264-sei,h264-i,h264-p, h265-sps,h265-pps,h265-vps,h265-sei,h265-i,h265-p, jpeg,yuv,raw
    + +
    +
    + +

    ◆ vdo_h264_profile_get_type()

    + +
    +
    + + + + + + + + +
    GType vdo_h264_profile_get_type (void )
    +
    + +

    Get h264 profile type.

    +
    Returns
    GType: none,baseline,main,high
    + +
    +
    + +

    ◆ vdo_h265_profile_get_type()

    + +
    +
    + + + + + + + + +
    GType vdo_h265_profile_get_type (void )
    +
    + +

    Get h265 profile type.

    +
    Returns
    GType: none,main,main-10
    + +
    +
    + +

    ◆ vdo_rate_control_mode_get_type()

    + +
    +
    + + + + + + + + +
    GType vdo_rate_control_mode_get_type (void )
    +
    + +

    Get rate control mode type.

    +
    Returns
    GType: none,cbr,vbr,mbr
    + +
    +
    + +

    ◆ vdo_rate_control_priority_get_type()

    + +
    +
    + + + + + + + + +
    GType vdo_rate_control_priority_get_type (void )
    +
    + +

    Get rate control priority type.

    +
    Returns
    GType: none,framerate,quality
    + +
    +
    + +

    ◆ vdo_wdr_mode_get_type()

    + +
    +
    + + + + + + + + +
    GType vdo_wdr_mode_get_type (void )
    +
    + +

    Get wdr mode type.

    +
    Returns
    GType: none,linear,2x,3x,4x,sensor
    + +
    +
    + +

    ◆ vdo_zipstream_profile_get_type()

    + +
    +
    + + + + + + + + +
    GType vdo_zipstream_profile_get_type (void )
    +
    + +

    Get zipstream profile type.

    +
    Returns
    GType: none,classic, storage and live
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h.js b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h.js new file mode 100644 index 0000000..6efd89e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h.js @@ -0,0 +1,144 @@ +var vdo_types_8h = +[ + [ "VdoChunk", "structVdoChunk.html", null ], + [ "VdoMemChunk", "structVdoMemChunk.html", null ], + [ "VdoResolution", "structVdoResolution.html", null ], + [ "VdoResolutionSet", "structVdoResolutionSet.html", null ], + [ "VdoRect", "structVdoRect.html", null ], + [ "VdoBufferAccess", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecf", [ + [ "VDO_BUFFER_ACCESS_NONE", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfad9fa9e9db15d55cfca1ecf2a48fe481d", null ], + [ "VDO_BUFFER_ACCESS_CPU_RD", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfad8fd4e66962a1c9b1406edf26eddbafe", null ], + [ "VDO_BUFFER_ACCESS_DEV_RD", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa5fb495938d2f75e934401f6d8926d3d2", null ], + [ "VDO_BUFFER_ACCESS_ANY_RD", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa09250a2db1ee6c0ae1be2f30fee218e9", null ], + [ "VDO_BUFFER_ACCESS_CPU_WR", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa0dd193450c0c9e971d3fbc49048646fd", null ], + [ "VDO_BUFFER_ACCESS_DEV_WR", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa82371b61688725c39924662af78f95ba", null ], + [ "VDO_BUFFER_ACCESS_ANY_WR", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa3763c654ea2d9721857ad71934d7b9f0", null ], + [ "VDO_BUFFER_ACCESS_CPU_RW", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa18ed8df77a6f6122ed2fc9ca75f6ebcf", null ], + [ "VDO_BUFFER_ACCESS_DEV_RW", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa9c7be72cf515100a54beba01ddef05dd", null ], + [ "VDO_BUFFER_ACCESS_ANY_RW", "vdo-types_8h.html#aad3ddf92456cf91539f2f21814083ecfa7205d31a0292710ba7fd7122ade39fbe", null ] + ] ], + [ "VdoBufferStrategy", "vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4", [ + [ "VDO_BUFFER_STRATEGY_NONE", "vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4a0a0980cfe5eb8633007e847d7bdb4c00", null ], + [ "VDO_BUFFER_STRATEGY_INPUT", "vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4a34f22d827d35b5310230035e801579f0", null ], + [ "VDO_BUFFER_STRATEGY_EXTERNAL", "vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4ae95f7aee9424e572727a460f7f87a6be", null ], + [ "VDO_BUFFER_STRATEGY_EXPLICIT", "vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4ad8497a62d7dbc983c753efd76504e69f", null ], + [ "VDO_BUFFER_STRATEGY_INFINITE", "vdo-types_8h.html#aca96b2ced6d27b9dd74085a5caebfbc4a6c925db4175c12444a61ddf51b6320da", null ] + ] ], + [ "VdoChunkType", "vdo-types_8h.html#a93f6a4da596c1b143aa24fe8d9e67428", [ + [ "VDO_CHUNK_NONE", "vdo-types_8h.html#a93f6a4da596c1b143aa24fe8d9e67428a198d581eb044cdd457e9139978de3e06", null ], + [ "VDO_CHUNK_ERROR", "vdo-types_8h.html#a93f6a4da596c1b143aa24fe8d9e67428aba3e81bf71f68af4e564612dac639ccc", null ] + ] ], + [ "VdoFormat", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246", [ + [ "VDO_FORMAT_NONE", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a071fb4606432bbeb185a0c5e383006ec", null ], + [ "VDO_FORMAT_H264", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246adb4968f7cd0955713be86b9c25ce3d8e", null ], + [ "VDO_FORMAT_H265", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246acc2fa3a99ac012438062c551591e90c0", null ], + [ "VDO_FORMAT_JPEG", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a49d90b0fb2c39b24e59efc4e4a0cc947", null ], + [ "VDO_FORMAT_YUV", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a1e0fbf315a5a12d276716d929f4cacb3", null ], + [ "VDO_FORMAT_BAYER", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246adb7a0ebac2a9a902a7b9b8f1e8c2aa23", null ], + [ "VDO_FORMAT_IVS", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a585e19cd61423581fb7abbdee6c4fa54", null ], + [ "VDO_FORMAT_RAW", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246abd9c77caf6a60134e05463f966a796aa", null ], + [ "VDO_FORMAT_RGBA", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246ae203eb727b581fb90e850b0a6f1746b6", null ], + [ "VDO_FORMAT_RGB", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a4d3104370154eb8bb3e941954263067e", null ], + [ "VDO_FORMAT_PLANAR_RGB", "vdo-types_8h.html#a5ed136c302573571bf325c39d6d36246a7f6886218d029fed304e3a9406f0be38", null ] + ] ], + [ "VdoFrameType", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdd", [ + [ "VDO_FRAME_TYPE_NONE", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda5f941d95a7b82d394cff06458803dd9c", null ], + [ "VDO_FRAME_TYPE_H264_SPS", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda419cdfca005fd0c08d26487721edfc90", null ], + [ "VDO_FRAME_TYPE_H264_PPS", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda2dee2b72123b6fb836420d61508255ab", null ], + [ "VDO_FRAME_TYPE_H264_SEI", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda0e1d6bf366b69a3854a8157418d086e6", null ], + [ "VDO_FRAME_TYPE_H264_IDR", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddac10b66d4f9118960384e427d76478672", null ], + [ "VDO_FRAME_TYPE_H264_I", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda1c0f2a7787e8eee9e0e9b8b7bf9b45fe", null ], + [ "VDO_FRAME_TYPE_H264_P", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa0fb718a86e1cc5542cc3c24ecbecaaa", null ], + [ "VDO_FRAME_TYPE_H264_B", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaf0a98dfb3f03c18e905273e0067faf21", null ], + [ "VDO_FRAME_TYPE_H265_SPS", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda8b6857c92743c7fd7a0c1948dc5b6242", null ], + [ "VDO_FRAME_TYPE_H265_PPS", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa32ab656eabfd7d226da9651b2449fe9", null ], + [ "VDO_FRAME_TYPE_H265_VPS", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaec93bca4bd9f08a433085b9e664e53a0", null ], + [ "VDO_FRAME_TYPE_H265_SEI", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddae2ebee25c4ea760ed1423ba15f537751", null ], + [ "VDO_FRAME_TYPE_H265_IDR", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda2ded56d42ad2a351c83248f5ae35982d", null ], + [ "VDO_FRAME_TYPE_H265_I", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda12634e8a4e0de153b69cb75d9bfdbf5c", null ], + [ "VDO_FRAME_TYPE_H265_P", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda41b54d7209fff3c6f30c5314a396a2eb", null ], + [ "VDO_FRAME_TYPE_H265_B", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda0fe403f1c3fa9da768a39c8d1452964f", null ], + [ "VDO_FRAME_TYPE_JPEG", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddafc8b9132ea65e9b285695b02659e3f3f", null ], + [ "VDO_FRAME_TYPE_YUV", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda0f7eba258bdeeb6ac6a5ca61ee74e602", null ], + [ "VDO_FRAME_TYPE_RAW", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa0cb2f95dc847651da567ef2a22b71b1", null ], + [ "VDO_FRAME_TYPE_RGBA", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddabaaa2217a230b08f027a35f01b4f69d7", null ], + [ "VDO_FRAME_TYPE_RGB", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bdda32563cb4bc14abd000de0fcd99dd1d98", null ], + [ "VDO_FRAME_TYPE_PLANAR_RGB", "vdo-types_8h.html#aecc7ad4ae90e505eea73c35dd4dd5bddaa0286ba6789fdad050ecad3ac6bda920", null ] + ] ], + [ "VdoH264Profile", "vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0", [ + [ "VDO_H264_PROFILE_NONE", "vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0a77ce3f9da1b244de8ea76a7f2a995801", null ], + [ "VDO_H264_PROFILE_BASELINE", "vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0abd2c22a05cc1aab9f163ab4503f699e3", null ], + [ "VDO_H264_PROFILE_MAIN", "vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0a67984e3b62e77ec4f05af10976725739", null ], + [ "VDO_H264_PROFILE_HIGH", "vdo-types_8h.html#a33e0f9a928494b4bd711a5265776b5e0a8c6497a0a0856b7403b3ee97efa08a42", null ] + ] ], + [ "VdoH265Profile", "vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8", [ + [ "VDO_H265_PROFILE_NONE", "vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8a06213f23aea23b6e90bba0798f746b06", null ], + [ "VDO_H265_PROFILE_MAIN", "vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8a158bb77d8b16e74687dcfdd38b4e776e", null ], + [ "VDO_H265_PROFILE_MAIN_10", "vdo-types_8h.html#a02ecc04ac7ec55a5a0b915c0825e7fe8a0ed5b3098addecfe56d8ab6a63a3545f", null ] + ] ], + [ "VdoIntent", "vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8", [ + [ "VDO_INTENT_NONE", "vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a1c5ea3c5615a6f53315b4370f9c20447", null ], + [ "VDO_INTENT_CONTROL", "vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a7c19220b80523ced40464b75f92e6b0f", null ], + [ "VDO_INTENT_MONITOR", "vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a9668eddb4acce5e6fd23ee924461d2aa", null ], + [ "VDO_INTENT_CONSUME", "vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a76952df68c249b9976580784947717dd", null ], + [ "VDO_INTENT_PRODUCE", "vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a47ea6aae08517338dc9d0b66764069ff", null ], + [ "VDO_INTENT_DEFAULT", "vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8ac4285a061f1f32323096a3609ef7e14e", null ], + [ "VDO_INTENT_EVENTFD", "vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8a5765cb5e5a8f8bb598818850bd91f9ba", null ], + [ "VDO_INTENT_UNIVERSE", "vdo-types_8h.html#acaa9291dd03e128aa2097c75b0d65ab8ac3db05fc3647260a8408dc0a00636b49", null ] + ] ], + [ "VdoRateControlMode", "vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5", [ + [ "VDO_RATE_CONTROL_MODE_NONE", "vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a2a89d96d527196117092b8ab9f30c854", null ], + [ "VDO_RATE_CONTROL_MODE_CBR", "vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a59a7fbabb67e472718560244cb9abc56", null ], + [ "VDO_RATE_CONTROL_MODE_VBR", "vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a1a710f57cecf1851462443335b628cc5", null ], + [ "VDO_RATE_CONTROL_MODE_MBR", "vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a80d6493ca0cb729616bec33492455fc4", null ], + [ "VDO_RATE_CONTROL_MODE_ABR", "vdo-types_8h.html#a90d9899f6a1e0fd09ab95647410df2e5a6275e14bf635a286ccface84b33b62f4", null ] + ] ], + [ "VdoRateControlPriority", "vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21ac", [ + [ "VDO_RATE_CONTROL_PRIORITY_NONE", "vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca21a9fc74e4aa690c0413e5cc104452c1", null ], + [ "VDO_RATE_CONTROL_PRIORITY_FRAMERATE", "vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca3faf17e96907d9d161ba06a3d45c5699", null ], + [ "VDO_RATE_CONTROL_PRIORITY_QUALITY", "vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca95089e897993c8cb4e59e3fdec1026b0", null ], + [ "VDO_RATE_CONTROL_PRIORITY_FULL_FRAMERATE", "vdo-types_8h.html#a33605ce7467e92bc6b3de06a39df21aca9cc3fcab971df53f286f28f9cd6046bf", null ] + ] ], + [ "VdoStreamEvent", "vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16", [ + [ "VDO_STREAM_EVENT_NONE", "vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a2eaecdfa56507e4edc41d734cbced832", null ], + [ "VDO_STREAM_EVENT_STARTED", "vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a6b59450d51e3f36e9e00cfe941ea77ee", null ], + [ "VDO_STREAM_EVENT_STOPPED", "vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a5a26e14f380c40f3e59f55fc741cd7b9", null ], + [ "VDO_STREAM_EVENT_RESOURCE", "vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a7006334131e20060575426e959f31b38", null ], + [ "VDO_STREAM_EVENT_QUOTA_SOFT", "vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16a639c74ec5b2bafedc3c3974550b7f6e3", null ], + [ "VDO_STREAM_EVENT_QUOTA_HARD", "vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16adc545c3ff5383440e5f7c73da264c4a6", null ], + [ "VDO_STREAM_EVENT_ZIPSTREAM", "vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16ad6935b2ddb6dd2529850f96bbcc069c9", null ], + [ "VDO_STREAM_EVENT_INVALID", "vdo-types_8h.html#a9bba040fd7d1f8b5d5a104500f136c16ac25c671243a29698ba3c3bcf6f11166e", null ] + ] ], + [ "VdoStreamTimestamp", "vdo-types_8h.html#a021421f945451240ceba49813b38196d", [ + [ "VDO_TIMESTAMP_NONE", "vdo-types_8h.html#a021421f945451240ceba49813b38196daa0aa3f69f3866dc00af14005372383e4", null ], + [ "VDO_TIMESTAMP_UTC", "vdo-types_8h.html#a021421f945451240ceba49813b38196da2440ff65de33ffc2cc4301bf87ba1709", null ], + [ "VDO_TIMESTAMP_ZIPSTREAM", "vdo-types_8h.html#a021421f945451240ceba49813b38196da583e50811ded77c9cefed474a0a2b2b5", null ], + [ "VDO_TIMESTAMP_MONO_CAPTURE", "vdo-types_8h.html#a021421f945451240ceba49813b38196da37d5c72ee55bfcdd24d7820b76f14ab1", null ], + [ "VDO_TIMESTAMP_MONO_SERVER", "vdo-types_8h.html#a021421f945451240ceba49813b38196da2363918b518db7dfbbdfcde2b0dad179", null ], + [ "VDO_TIMESTAMP_MONO_CLIENT", "vdo-types_8h.html#a021421f945451240ceba49813b38196da47cd760305a382be581a50d08603ae3c", null ], + [ "VDO_TIMESTAMP_MONO_CLIENT_SERVER_DIFF", "vdo-types_8h.html#a021421f945451240ceba49813b38196da7ee696ae33fa2499089ae9339bad00cd", null ], + [ "VDO_TIMESTAMP_MONO_CLIENT_CAPTURE_DIFF", "vdo-types_8h.html#a021421f945451240ceba49813b38196dadb78a856ad2e3cabeec55e26c7b650d7", null ] + ] ], + [ "VdoWdrMode", "vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3", [ + [ "VDO_WDR_MODE_NONE", "vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a544ed8cc91cf9b1f2706101811097b36", null ], + [ "VDO_WDR_MODE_LINEAR", "vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a686227e49fd1e489c0bdd3ef8961522d", null ], + [ "VDO_WDR_MODE_2X", "vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3aa211cda0b04b9923970a58f328e2c4a0", null ], + [ "VDO_WDR_MODE_3X", "vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3ab018e7619786f9da553894ec56b31196", null ], + [ "VDO_WDR_MODE_4X", "vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a848ef4214342a9efe04337401859bcaa", null ], + [ "VDO_WDR_MODE_SENSOR", "vdo-types_8h.html#ae575c780c555d7914290feae719fa2a3a6c76a6b34b64789bfcb4758659790a4e", null ] + ] ], + [ "VdoZipStreamProfile", "vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3", [ + [ "VDO_ZIPSTREAM_PROFILE_NONE", "vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3a89f57cfdc17fe2f1e38f2271c184af69", null ], + [ "VDO_ZIPSTREAM_PROFILE_CLASSIC", "vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3afa0365f868710f079db8042063ce899e", null ], + [ "VDO_ZIPSTREAM_PROFILE_STORAGE", "vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3acffec4fb1fc61e4a450eaf35768eecd6", null ], + [ "VDO_ZIPSTREAM_PROFILE_LIVE", "vdo-types_8h.html#a7d42c863f85fae6169685874dbbde1b3a9a1a2a2f7d8ed7c295562301248d59ad", null ] + ] ], + [ "vdo_format_get_type", "vdo-types_8h.html#aefe5c21b8a48b6b2cac1892878841711", null ], + [ "vdo_frame_type_get_type", "vdo-types_8h.html#a0c497b2402527915dd522ab5754967e4", null ], + [ "vdo_h264_profile_get_type", "vdo-types_8h.html#ad4d880aa1e63aac12f6f1f50a5240cc4", null ], + [ "vdo_h265_profile_get_type", "vdo-types_8h.html#a2c0d157e8a53ef009e50892816ac6395", null ], + [ "vdo_rate_control_mode_get_type", "vdo-types_8h.html#a3fe88561a9c29743218a47089fda4e8e", null ], + [ "vdo_rate_control_priority_get_type", "vdo-types_8h.html#a3a1aee2a6ad15ed02963fce85557a4c4", null ], + [ "vdo_wdr_mode_get_type", "vdo-types_8h.html#acca84d091767d5f50187ce875f7f9c3b", null ], + [ "vdo_zipstream_profile_get_type", "vdo-types_8h.html#a97294a2b495a86da118ff5c9330b0605", null ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__dep__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__dep__incl.dot new file mode 100644 index 0000000..af0ae4b --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__dep__incl.dot @@ -0,0 +1,17 @@ +digraph "vdo-types.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node2 [label="vdo-types.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="vdo-stream.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-stream_8h.html",tooltip="A class representing a stream session. "]; + Node2 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="vdo-frame.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-frame_8h.html",tooltip="A video frame. "]; + Node4 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="vdo-buffer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-buffer_8h.html",tooltip="A memory buffer. "]; + Node5 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="vdo-channel.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vdo-channel_8h.html",tooltip="A class representing a channel. "]; + Node2 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__dep__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__dep__incl.md5 new file mode 100644 index 0000000..8c5b2fb --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__dep__incl.md5 @@ -0,0 +1 @@ +1f901563d03e62b8c5e2cf63a9c86ef6 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__incl.dot b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__incl.dot new file mode 100644 index 0000000..685a4b0 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__incl.dot @@ -0,0 +1,8 @@ +digraph "vdo-types.h" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="vdo-types.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; + Node0 -> Node1 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="glib-object.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__incl.md5 b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__incl.md5 new file mode 100644 index 0000000..dc4aeac --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h__incl.md5 @@ -0,0 +1 @@ +8cb0fd841c22947398872b77f851a1f9 \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h_source.html b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h_source.html new file mode 100644 index 0000000..e573d43 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/vdostream/html/vdo-types_8h_source.html @@ -0,0 +1,225 @@ + + + + + + + +libvdo: vdo-types.h Source File + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    libvdo +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    vdo-types.h
    +
    +
    +Go to the documentation of this file.
    1 
    9 #ifndef __VDO_TYPES_H__
    10 #define __VDO_TYPES_H__
    11 
    12 #include <glib-object.h>
    13 
    14 G_BEGIN_DECLS
    15 
    16 #define VDO_TYPE_WDR_MODE (vdo_wdr_mode_get_type())
    17 #define VDO_TYPE_FORMAT (vdo_format_get_type())
    18 #define VDO_TYPE_H264_PROFILE (vdo_h264_profile_get_type())
    19 #define VDO_TYPE_H265_PROFILE (vdo_h265_profile_get_type())
    20 #define VDO_TYPE_RATE_CONTROL_MODE (vdo_rate_control_mode_get_type())
    21 #define VDO_TYPE_RATE_CONTROL_PRIORITY (vdo_rate_control_priority_get_type())
    22 #define VDO_TYPE_FRAME_TYPE (vdo_frame_type_get_type())
    23 #define VDO_TYPE_TIMESTAMP (vdo_timestamp_get_type())
    24 #define VDO_TYPE_BUFFER_ACCESS (vdo_buffer_access_get_type())
    25 #define VDO_TYPE_BUFFER_STRATEGY (vdo_buffer_strategy_get_type())
    26 #define VDO_TYPE_ZIPSTREAM_PROFILE (vdo_zipstream_profile_get_type())
    27 
    31 typedef enum {
    38 } VdoWdrMode;
    39 
    43 typedef enum {
    55 } VdoFormat;
    56 
    64 static inline gboolean
    65 vdo_format_is_encoded(VdoFormat format)
    66 {
    67  return (format == VDO_FORMAT_H264 ||
    68  format == VDO_FORMAT_H265 ||
    69  format == VDO_FORMAT_JPEG);
    70 }
    71 
    79 static inline gboolean
    80 vdo_format_is_motion_encoded(VdoFormat format)
    81 {
    82  return (vdo_format_is_encoded(format) &&
    83  format != VDO_FORMAT_JPEG);
    84 }
    85 
    89 typedef enum {
    95 
    99 typedef enum {
    104 
    108 typedef enum {
    115 
    119 typedef enum {
    125 
    129 typedef enum {
    152 } VdoFrameType;
    153 
    157 typedef enum {
    163 
    167 typedef enum {
    169  VDO_CHUNK_ERROR = 1u << 31u,
    170 } VdoChunkType;
    171 
    175 typedef struct {
    176  gpointer data;
    177  gsize size;
    178  VdoChunkType type;
    179 } VdoChunk;
    180 
    188 static inline gboolean
    189 vdo_frame_is_encoded(VdoFrameType type)
    190 {
    191  return (type >= VDO_FRAME_TYPE_H264_SPS &&
    192  type <= VDO_FRAME_TYPE_JPEG);
    193 }
    194 
    202 static inline VdoFormat
    203 vdo_frame_is_of_format(VdoFrameType type)
    204 {
    205  switch (type) {
    213  return VDO_FORMAT_H264;
    214 
    223  return VDO_FORMAT_H265;
    224 
    225  case VDO_FRAME_TYPE_JPEG:
    226  return VDO_FORMAT_JPEG;
    227 
    228  case VDO_FRAME_TYPE_YUV:
    229  return VDO_FORMAT_YUV;
    230 
    231  case VDO_FRAME_TYPE_RAW:
    232  return VDO_FORMAT_RAW;
    233 
    234  case VDO_FRAME_TYPE_RGBA:
    235  return VDO_FORMAT_RGBA;
    236 
    237  case VDO_FRAME_TYPE_RGB:
    238  return VDO_FORMAT_RGB;
    239 
    241  return VDO_FORMAT_PLANAR_RGB;
    242 
    243  default:
    244  return VDO_FORMAT_NONE;
    245  }
    246 }
    247 
    248 typedef enum {
    249  VDO_OVERLAY_ALIGN_NONE = -1,
    250  VDO_OVERLAY_ALIGN_TOP = 0,
    251  VDO_OVERLAY_ALIGN_BOTTOM = 1,
    252 } VdoOverlayAlign;
    253 
    254 typedef enum {
    255  VDO_OVERLAY_COLOR_TRANSPARENT = 0x0000,
    256  VDO_OVERLAY_COLOR_BLACK = 0xF000,
    257  VDO_OVERLAY_COLOR_WHITE = 0xFFFF,
    258 } VdoOverlayColor;
    259 
    260 typedef enum {
    261  VDO_OVERLAY_TEXT_SIZE_SMALL = 16,
    262  VDO_OVERLAY_TEXT_SIZE_MEDIUM = 32,
    263  VDO_OVERLAY_TEXT_SIZE_LARGE = 48,
    264 } VdoOverlayTextSize;
    265 
    269 typedef enum {
    272 
    275 
    281  VDO_TIMESTAMP_DIFF = 4,
    282 
    288 
    294 
    300 
    306  VDO_TIMESTAMP_DIFF | VDO_TIMESTAMP_MONO_CLIENT \
    308 
    314  VDO_TIMESTAMP_DIFF | VDO_TIMESTAMP_MONO_CLIENT \
    317 
    324 typedef enum {
    333 } VdoIntent;
    334 
    340 typedef enum {
    350 
    360 typedef enum {
    363 
    366 
    369 
    372 
    375 
    378 
    381 
    384 
    387 
    391 
    400 typedef enum {
    403 
    406 
    409 
    412 
    416 
    420 typedef struct {
    421  gpointer data;
    422  gsize data_size;
    423 } VdoMemChunk;
    424 
    428 typedef struct {
    429  guint32 width;
    430  guint32 height;
    431 } VdoResolution;
    432 
    436 typedef struct {
    437  gsize count;
    438  VdoResolution resolutions[];
    440 
    444 typedef struct {
    445  guint width;
    446  guint height;
    447  guint x;
    448  guint y;
    449 } VdoRect;
    450 
    456 GType vdo_wdr_mode_get_type(void);
    457 
    463 GType vdo_format_get_type(void);
    464 
    470 GType vdo_h264_profile_get_type(void);
    471 
    477 GType vdo_h265_profile_get_type(void);
    478 
    485 
    492 
    499 
    507 GType vdo_frame_type_get_type(void);
    508 
    509 GType vdo_color_get_type(void);
    510 
    511 GType vdo_timestamp_get_type(void);
    512 
    513 GType vdo_intent_get_type(void);
    514 
    515 GType vdo_buffer_access_get_type(void);
    516 
    517 GType vdo_buffer_strategy_get_type(void);
    518 
    519 const char *vdo_format_to_str(VdoFormat format);
    520 
    521 G_END_DECLS
    522 
    523 #endif
    Definition: vdo-types.h:161
    +
    Definition: vdo-types.h:331
    +
    Definition: vdo-types.h:344
    +
    Definition: vdo-types.h:271
    +
    Definition: vdo-types.h:330
    +
    Definition: vdo-types.h:138
    +
    Definition: vdo-types.h:383
    +
    Definition: vdo-types.h:377
    +
    Definition: vdo-types.h:365
    +
    VdoStreamEvent
    Stream related events.
    Definition: vdo-types.h:340
    +
    Definition: vdo-types.h:120
    +
    Definition: vdo-types.h:374
    +
    Definition: vdo-types.h:362
    +
    Definition: vdo-types.h:36
    +
    Definition: vdo-types.h:287
    +
    Definition: vdo-types.h:408
    +
    Definition: vdo-types.h:47
    +
    Definition: vdo-types.h:341
    +
    Definition: vdo-types.h:168
    +
    Definition: vdo-types.h:46
    +
    Definition: vdo-types.h:100
    +
    Definition: vdo-types.h:145
    +
    VdoFormat
    Video formats.
    Definition: vdo-types.h:43
    +
    VdoRateControlMode
    Bitrate control modes.
    Definition: vdo-types.h:108
    +
    Definition: vdo-types.h:137
    +
    Definition: vdo-types.h:139
    +
    Definition: vdo-types.h:293
    +
    Definition: vdo-types.h:389
    +
    A memory chunk.
    Definition: vdo-types.h:420
    +
    Definition: vdo-types.h:110
    +
    Definition: vdo-types.h:148
    +
    Definition: vdo-types.h:143
    +
    Definition: vdo-types.h:93
    +
    Definition: vdo-types.h:113
    +
    Definition: vdo-types.h:347
    +
    VdoFrameType
    Video frame types.
    Definition: vdo-types.h:129
    +
    Definition: vdo-types.h:91
    +
    Definition: vdo-types.h:52
    +
    VdoWdrMode
    Wide Dynamic Range (WDR) modes.
    Definition: vdo-types.h:31
    +
    Definition: vdo-types.h:405
    +
    GType vdo_h264_profile_get_type(void)
    Get h264 profile type.
    +
    Definition: vdo-types.h:345
    +
    Definition: vdo-types.h:305
    +
    Definition: vdo-types.h:346
    +
    VdoZipStreamProfile
    Zipstream profiles.
    Definition: vdo-types.h:157
    +
    Definition: vdo-types.h:37
    +
    VdoStreamTimestamp
    Timestamp types.
    Definition: vdo-types.h:269
    +
    Definition: vdo-types.h:169
    +
    Definition: vdo-types.h:280
    +
    Definition: vdo-types.h:32
    +
    Definition: vdo-types.h:123
    +
    Definition: vdo-types.h:368
    +
    Definition: vdo-types.h:150
    +
    VdoIntent
    Intent values.
    Definition: vdo-types.h:324
    +
    Definition: vdo-types.h:332
    +
    Definition: vdo-types.h:49
    +
    Definition: vdo-types.h:122
    +
    Definition: vdo-types.h:160
    +
    GType vdo_zipstream_profile_get_type(void)
    Get zipstream profile type.
    +
    Definition: vdo-types.h:53
    +
    Definition: vdo-types.h:159
    +
    Definition: vdo-types.h:45
    +
    Definition: vdo-types.h:54
    +
    Definition: vdo-types.h:50
    +
    Definition: vdo-types.h:51
    +
    Definition: vdo-types.h:33
    +
    Definition: vdo-types.h:44
    +
    Definition: vdo-types.h:325
    +
    Definition: vdo-types.h:371
    +
    VdoH264Profile
    H.264 profiles.
    Definition: vdo-types.h:89
    +
    GType vdo_rate_control_mode_get_type(void)
    Get rate control mode type.
    +
    Definition: vdo-types.h:299
    +
    Definition: vdo-types.h:146
    +
    Definition: vdo-types.h:112
    +
    Definition: vdo-types.h:328
    +
    Definition: vdo-types.h:134
    +
    Definition: vdo-types.h:111
    +
    Definition: vdo-types.h:342
    +
    VdoChunkType
    Video chunk types.
    Definition: vdo-types.h:167
    +
    A rectangle.
    Definition: vdo-types.h:444
    +
    Definition: vdo-types.h:35
    +
    Definition: vdo-types.h:343
    +
    Definition: vdo-types.h:130
    +
    Definition: vdo-types.h:414
    +
    Definition: vdo-types.h:149
    +
    Definition: vdo-types.h:140
    +
    Definition: vdo-types.h:132
    +
    Definition: vdo-types.h:109
    +
    GType vdo_format_get_type(void)
    Get vdo format type.
    +
    Definition: vdo-types.h:151
    +
    VdoH265Profile
    H.265 profiles.
    Definition: vdo-types.h:99
    +
    Definition: vdo-types.h:92
    +
    Definition: vdo-types.h:348
    +
    Definition: vdo-types.h:48
    +
    GType vdo_h265_profile_get_type(void)
    Get h265 profile type.
    +
    Definition: vdo-types.h:133
    +
    Definition: vdo-types.h:329
    +
    Definition: vdo-types.h:144
    +
    GType vdo_rate_control_priority_get_type(void)
    Get rate control priority type.
    +
    VdoBufferAccess
    Buffer access definitions.
    Definition: vdo-types.h:360
    +
    Definition: vdo-types.h:142
    +
    Definition: vdo-types.h:141
    +
    Definition: vdo-types.h:402
    +
    Definition: vdo-types.h:90
    +
    Definition: vdo-types.h:147
    +
    Definition: vdo-types.h:411
    +
    VdoBufferStrategy
    Buffer strategy.
    Definition: vdo-types.h:400
    +
    GType vdo_frame_type_get_type(void)
    Get vdo frame type.
    +
    Definition: vdo-types.h:380
    +
    Definition: vdo-types.h:274
    +
    Definition: vdo-types.h:386
    +
    Definition: vdo-types.h:131
    +
    Definition: vdo-types.h:313
    +
    Definition: vdo-types.h:102
    +
    Definition: vdo-types.h:101
    +
    A set of resolutions.
    Definition: vdo-types.h:436
    +
    Definition: vdo-types.h:34
    +
    VdoRateControlPriority
    Bitrate control priorities.
    Definition: vdo-types.h:119
    +
    Definition: vdo-types.h:327
    +
    Definition: vdo-types.h:135
    +
    GType vdo_wdr_mode_get_type(void)
    Get wdr mode type.
    +
    Definition: vdo-types.h:326
    +
    A video chunk.
    Definition: vdo-types.h:175
    +
    Definition: vdo-types.h:158
    +
    Definition: vdo-types.h:136
    +
    A resolution.
    Definition: vdo-types.h:428
    +
    Definition: vdo-types.h:121
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/bc_s.png b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1509827fe5636dc2b11c86d5efb48dd040b5d2 GIT binary patch literal 650 zcmV;50(Jd~P)CnOkW$x^-3TQ^zug z9A~%GRj9wKbn?R-$9>U_!8Ybco96b8N2pcHy(J5gh!zt>F^hyrk5FA&=q1EO(U(Wk zJ`OGRKZ3hH>Uvb>C>=+YGQF9;1^^7)9!{fD3@2M4OK;`?fI)x|?mMb*gpf02vGNbW zT~B3MiTnM5I;oV3008~_qR;2QuPEv_n!Yg#0MNf5g~Q=v*ysu=FU$e}1BC$D)T4u* zM@VV@B>*sZ5R{}$Pzr6>O*27W&&>b;gHM`fgi!vr)ofJBd~v$>@|+<0rc^cZ6ED3< z($UdGFX2fjBnQ!cS*PW!dxmKr9CR)R2*+Iz1OeLZcCPcBrczfsgu8)&bOinR!Lk~; zt{-M+@}2yvrW*lNxsKhhb{#d6yyC|5X#E6^cHg$l3C5EzraiU1qN*p6l(VhoGv>!h zCN3NJ*(Rlstl@dA)!N%<2#MiK_E)H!3HEvS)PKZa8DP5Y1p3AV;mdKI;Vst08RHZO#lD@ literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/closed.png b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..8be2d7b0ec3d8e504d722bd3249dfef20c145ab0 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vo}Mm_Ar*{o=N{x`P~>27=QiG_ z^DFMyF_RfFOfDOn&c5qr+{VH%`Qm;~iF5{eezgM;%uBb~+Q)t3ez + + + + + + +Video Scene Subscriber Library: include Directory Reference + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Video Scene Subscriber Library +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    include Directory Reference
    +
    +
    + + + + +

    +Files

    file  video_scene_subscriber.h [code]
     
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doc.png b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..a93ee1079085b4d72132604f8d3d4ed539340f48 GIT binary patch literal 705 zcmV;y0zUnTP)BqF4!n7C!EEELfL&1o$&=?o~2orby3=>_{g)#mqSL(vJH73NkAOfYO zv<3SywbT0ETQFj0aA8=u>dAcc_C5E!=RLh!qu=iXTo_D%i^PQ!L;(IorBd$qdOdu< ztDk#*56^4U@jPPjI94P=JQgSAI5^IT0T2eOP$&SLLAkVFNTwX3(U?X=3Pz$)xkhQX zo7lFElTORJBBp5-Y&-D+AP9j9Ow+(H27o@6Wy!sXdUBjJ$HzxZOy*!5ihH}Vg1+l! z0+ob%@H>fuX_}%!6iI99wW?l|N~MKpipoKWX0s7Ej-do<$Ev8b;N;%WN}|%H^vEb5 zKfL4p+c$juvPGxkDFT2Y1bT2(uN6|_f!cYi)zk!0@xW`hML`TlcCK2LNF=rCtyTk5 z*0`DMkQad-3|cf0cTnC(g)uihOR>0v-|b>cVat+&?iigPo?hqsKEM#pX_4x^$?V($ za)x_tma2vwj=R0>qViK!gRD{I`mwaLQbGTE_9EUnz& z_U64`UI7H*90h~0?e1(#kjgTG%7f~V2RhLJA^6J_4Ln$q-OuFb0zEiQJU|cv6{x9D zKT>Cr%7Y5k$v0YodLNU&jF^P(bTeTGS17^jm(Te0d5dHs0T7C&7=L}`8jl`70T@Cc nL4J1Lc>4Smz(3>vKQey;u(G`oh?v!A00000NkvXXu0mjfF@8vB literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doxygen.css b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doxygen.css new file mode 100644 index 0000000..db3f76e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #C8C7C2; + color: #8A877C; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #959288; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #A29F96; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #D2D1CD; + color: #ffffff; + border: 1px double #C8C6C1; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FDFDFD; + border: 1px solid #E5E4E2; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #F6F6F5; + font-weight: bold; + border: 1px solid #E5E4E2; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #F6F6F5; + border: 1px solid #E5E4E2; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #F7F7F6; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #FBFBFB; + border-left: 2px solid #D2D1CD; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #D6D5D1; +} + +th.dirtab { + background: #F6F6F5; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #A6A49B; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FCFCFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #A29F96; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #F2F2F1; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #A29F96; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #F6F6F5; + border: 1px solid #D6D5D1; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 0px 6px 0px; + color: #6E6B62; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #F1F1EF; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #D8D7D3; + border-left: 1px solid #D8D7D3; + border-right: 1px solid #D8D7D3; + padding: 6px 10px 2px 10px; + background-color: #FDFDFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #BEBCB6; + border-top:1px solid #AEABA3; + border-left:1px solid #AEABA3; + border-right:1px solid #E5E4E2; + border-bottom:1px solid #E5E4E2; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #D2D1CD; + border-bottom: 1px solid #D2D1CD; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #FBFBFB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #959288; +} + +.arrow { + color: #D2D1CD; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #BEBCB6; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #78756B; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #D8D7D3; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #D8D7D3; + border-bottom: 1px solid #D8D7D3; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #D8D7D3; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #F2F2F1; + font-size: 90%; + color: #6E6B62; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #D8D7D3; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#CAC8C3; + border:solid 1px #E4E3E1; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#8B887D; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #757168; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#B9B6B0; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#8B887D; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FCFCFC; + margin: 0px; + border-bottom: 1px solid #E5E4E2; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #AEABA3; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #CDCBC6; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#878378; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #FAFAFA; + border: 1px solid #EEEDEC; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #A29F96; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #8D8A7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #7D796F; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doxygen.png b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..69a921c279e71363b64e6868642ba060f2060323 GIT binary patch literal 3811 zcmV<94jl1`P)W+@m)6{PS0tMorm{%*R%Jx-gSG|?_F#C zYgJ!g4*;zM0FNL&1^}%D0FNeFO`RM901rcY0P39s0IdW7Kc7-}y$=A*k~IK41SO6d zE8gT9sn9qb9?}3B>;FZSy=%<^VAeTjzk6`z4%@9?*L>7pTxR4 zA`g*uo^7P0?oP3gV?W*i)cYjK)mg|%aY&2pNw%BRYsxmA=QI%~+h$p|nc0Nx^Q6Z- z0MHQW2Z=uTuF_&3d{>RHW@5Tdaz)`&Uga3r7W-viDKyuGoHqr~N+%~rbHGb~K#!h% z1V-(p8vSRV9&8by$cV6cJgb6(gFReayQ5Plr-mr5U&Y0mDh|*@pUK<*n*KJ)I+CAS zFR#7;lwDF%%yPaYb4s+C=C&w`2K$V_ z{rgP=#C)S+@=DeXn>ro#_WV$k#rpmFdt=y$=RDGPZd*;kc1li3TTVJTqxEC;u5QYM zJ^fW7HgDQ!B%4ueGblL7IQAueTn+2)-8)zjyAUr2PeQNWUNZmCXMaap+Aag>B`_8N z0l&w{=U$Z0OV5?y@Zlo{@?A!WIyfzImPTKSk?pJR&UQ=7DuYD3@;zUfFcnX9c?tkD z#CCWM^&1tmWBZ?j$lqAHD}&_C;7kdhDa+PWpNIF5VMZTc|3-1_N=-5nNJRuvs@2rV zAwpYYgqJLR1NIKu1Oq@*G(GZ<{L_wTT#p{z_eL*RrnwvdSP~~7al>0EFRz-&-{f=e z@;Bl&dYK=j;qM1Oi6@(8OPjk=w<0g^X#Dt~AoJLlUY7Y+E`N)drRJh-+u!x0xUyqj zU#S89;Kv8BKQl9m{thri8jU_fM*u*Jbm;R>ke-$nLv|C$Za9IH6!E7ynwZ%4ojbRo z_Sf(z&R~7~>P*rNBVGN75q{ZI!e;S6$nfHef#_&wPZe>$A(?mX;CTLF zR99EP&CL`3qsIV1Q)HYF8i6)#Y-C+_kay@);s1z{zm;Db%dqUKxE02vjR(drw=zo!M1G!cswGA7eq0MGpb(WSIY5a%2gN2kEAEvhwh=HDsq%6sANt2Mh`oC z2U+NogIUNrkQGmVxkR(y*}4OOvS-hj#y?(k=@OH9h0MQq_b%RCxdhj)-4N=zb7zO7 z*yU?rV{0qRB*d>kMMbq2**s5n5+kNX8aZ)l8*2G~Uil8oV_)M$OeCFZ(n()nG7B?A zT8DH03w!tMi5WBI`8aNY@?0oAiwz0!JQGe%3=NI*AEi9B3pJHk{ni_d9=9-^<+)^& zhd0?xZ_cjB@|Zb$j-g+F5f80?(eU9zvnNea#_7%PZyY)S?ICb=Qx%`^MGXUzX^YrYcIjgR!V5gZ|lD4Pvcht^gxQ$7RTig5Zy%$6B!eAvi(?iIF4;bK; z6ghn!0BA^*jVD?8v4}dg>o#n5v{hBwir7UkEsBA<6EKew;mjS$ykwcan`^@$=d~wo zJB}SY9!R!x9uy}h*-{q(S|U{*6PnAh2vBx&u?YYT9qN-kagxxogmv*k71qVC)&TVO zrmX;!J#Vfs@M1zjLgI$|E0;QQ_)}zLWWs=G^qXDRQPFd+$!_!^^WJce912y_|F33qdzL)yk$?0)nc1XPD z;%rLyLa=I*->+YJbEbeB4bY~3XY!$B$*sKA4mT88fVNG z`Z@qu(nnbt`26$Sc#_w&Inu3NwI;!_DZP6%yOu67)sYUjH{mND*rT%Yf)_u6 z=JF&}&;pZL-<9T^WsVpip&PuuBF@9k&R!NcdgOEL&&(|1|2{s0bRiR_0#NoM(_CRT zQy{eq&9ShtQIeFp;~f+ieXC!L zSOfLQ6Sz9Vq@ z)JaLd$kI3a-MC?$43K3GGTz&X?YFppNI##cCvOOyHLuO1fOt9D|M?z|lWO%mM%nef;4E$jv<*MzWczn2(wlFVi)3 z9{{kVd%3{%SG0KtmM^eH^}pd;wV`b zyTU^)$MG(YeXWk1X-_K#L^l zGeCm}>#~DGrpRZtmuj#naia{--01mw=dMZx?aSDO6DNvffOxHZ;e|0~KkBnKHa414 z{M&&H%$O|zBCn-O7775ZTC<-2hdVgfC5?MI7*9Xb4*(j`*)v~Lu={Z1#?6`Zd4S|= zXGP72x~&!*JA|yPza^8+XtFua>zQ5z;B)}WPTRQ+C1*;sevsY>AOR%TZqDX`6ezFj z*RCQj?mP(gI=LH&9~M9P*M3N;+@GB-vIy`5!uwyPbXDA8a)aCXpW>R27snW0Lad+LpuGR1OUGxn)AaC zKQ5ddHLrVTr^jXH=~IRH=)(_TYiq+Vauku=SAP8Q_S*pg0ka1U@oNJB4!^>3Z0MP8J%5vl#%7wM{Z?b>W2Wuy%Cp4|`+Ep6v)#q{g^eNo<{$`SmO`CE$ znnmD@`cHuaK(pl**SlBGUsa1cS6Y^S_wGH8GFkI&^41n8B1*+qSmo*r5YD+I7H{D_70zg2+TRw1Wu%{sTn!6Iz@E z5D)d90Pz2SsH7U^F97^Z;{Ng^kvjnVA5j?rlw+N`>wW&n5eWcV2>>1udJF(s2>>2V Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/dynsections.js b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +Video Scene Subscriber Library: File List + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Video Scene Subscriber Library +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    File List
    +
    +
    +
    Here is a list of all documented files with brief descriptions:
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/files.js b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/files.js new file mode 100644 index 0000000..272aa8e --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/files.js @@ -0,0 +1,4 @@ +var files = +[ + [ "video_scene_subscriber.h", "video__scene__subscriber_8h.html", "video__scene__subscriber_8h" ] +]; \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/folderclosed.png b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..32f346dfdd52aca9b97ecdbd5a7d2eb71d5431e4 GIT binary patch literal 583 zcmV-N0=WH&P)!A1!UctQj_=)>@jY|znHjfCN(lg4g8=~B#MTLR0HBD`=$D*cUjfKktKEg) z8!!NP3|10Q@P^$=-x*_=-b{!903HQa6#2*ZQ+fC2H|%CR4Nh}zZ>RCQdZc>D=0DU| zt3JWOi&xq}WjGuH$lA~Iv*Gjom$1}it6GD#SB?BuvjbaYMZ{$5^#6>T;|sh#e5Z+A zA~^Z_MS6aq{W$Zf-jrFqvyv=g0t1t)ks^4%iQu#BbiFhH85J+JBq$L8fDVS6>r1?O z`#~ElX+UCy;r&vBa-fJf(LXx`UwR3ciwH zJ`c0iJg`Y39dd(4fpE<^kV>p^uCjWdhqsy9)psN>_#5Y}vhFz&*duJul#n z=X1yHDfqnW_`KtI+);4dfV*m(;PnRF5Bj{_ak*)lpVnqzS+$P<@UQUy|D$c4;4i2n V{UzU_>T>`9002ovPDHLkV1jg!4EO*5 literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/folderopen.png b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..3d86075e9e8354717712986c13057ce1eae0c6e4 GIT binary patch literal 586 zcmV-Q0=4~#P)FY*etmehFu1r||vFCjhVtZM985et1t$fBrzan(Xs)GU{y3 z)5q-O^yPX32iI@ploX0Q4JUBD7CZ*uXQRKFfZHv$=fiOs98Zk45yD;(p7SepXcj>RPj4q+%5{DR(bf$cF2}Qts zKE>_h2jv7Oub$Cbt)A9EcF1x^rBe}omd5#fhU2>r%L!h;d`c~=mcP7YtLE~<3GUo` zRNkg3^Evh^u>=69pls9e=o^6S;b{_uOkAmKK2}T<0CFfO*z5I4|L`VZzeuuw&?mue zj|4kC((de#_I5zFu6D>)yF<3wyc_I^eSW8R?T~c3y97Y)DJW>Qt~>^SzlHz*XaG=( Y-&=9_qAhf1ng9R*07*qoM6N<$g53QY82|tP literal 0 HcmV?d00001 diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals.html b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals.html new file mode 100644 index 0000000..1a0f0d4 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals.html @@ -0,0 +1,149 @@ + + + + + + + +Video Scene Subscriber Library: Globals + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Video Scene Subscriber Library +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_defs.html b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_defs.html new file mode 100644 index 0000000..f24d861 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_defs.html @@ -0,0 +1,98 @@ + + + + + + + +Video Scene Subscriber Library: Globals + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Video Scene Subscriber Library +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_enum.html b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_enum.html new file mode 100644 index 0000000..3835d1f --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_enum.html @@ -0,0 +1,77 @@ + + + + + + + +Video Scene Subscriber Library: Globals + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Video Scene Subscriber Library +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_func.html b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_func.html new file mode 100644 index 0000000..6238bae --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_func.html @@ -0,0 +1,110 @@ + + + + + + + +Video Scene Subscriber Library: Globals + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Video Scene Subscriber Library +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_type.html b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_type.html new file mode 100644 index 0000000..145071c --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/globals_type.html @@ -0,0 +1,86 @@ + + + + + + + +Video Scene Subscriber Library: Globals + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Video Scene Subscriber Library +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.dot b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.dot new file mode 100644 index 0000000..789df56 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.dot @@ -0,0 +1,22 @@ +digraph "Graph Legend" +{ + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node9 [shape="box",label="Inherited",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",fillcolor="grey75",style="filled" fontcolor="black"]; + Node10 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [shape="box",label="PublicBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"]; + Node11 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [shape="box",label="Truncated",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"]; + Node13 -> Node9 [dir="back",color="darkgreen",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [shape="box",label="ProtectedBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"]; + Node14 -> Node9 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [shape="box",label="PrivateBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"]; + Node15 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [shape="box",label="Undocumented",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="grey75"]; + Node16 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [shape="box",label="Templ< int >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node17 -> Node16 [dir="back",color="orange",fontsize="10",style="dashed",label="< int >",fontname="Helvetica"]; + Node17 [shape="box",label="Templ< T >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node18 -> Node9 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label="m_usedClass",fontname="Helvetica"]; + Node18 [shape="box",label="Used",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"]; +} diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.html b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.html new file mode 100644 index 0000000..67243a6 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.html @@ -0,0 +1,105 @@ + + + + + + + +Video Scene Subscriber Library: Graph Legend + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Video Scene Subscriber Library +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    Graph Legend
    +
    +
    +

    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:

    +
      +
    • +A filled gray box represents the struct or class for which the graph is generated.
    • +
    • +A box with a black border denotes a documented struct or class.
    • +
    • +A box with a gray border denotes an undocumented struct or class.
    • +
    • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
    • +
    +

    The arrows have the following meaning:

    +
      +
    • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
    • +
    • +A dark green arrow is used for protected inheritance.
    • +
    • +A dark red arrow is used for private inheritance.
    • +
    • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
    • +
    • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
    • +
    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.md5 b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/index.html b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/index.html new file mode 100644 index 0000000..ee431ec --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/index.html @@ -0,0 +1,101 @@ + + + + + + + +Video Scene Subscriber Library: Video Scene Subscriber + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Video Scene Subscriber Library +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    Video Scene Subscriber
    +
    +
    +

    Client API for subscribing on video scene motion description.This library can be used to connect to the video scene provider service which runs the actual motion object tracking.

    +

    Scene motion description data is serialized using protobuf and can be deserialized using standard protobuf tools, see e.g. protocol-buffers and protobuf-c.

    +

    The coordinates are represented in a right-handed normalized system. The coordinate system used is specified by ONVIF. The x coordinate has positive direction to the right and range [-1.0,1.0]. The y coordinate has positive direction up and range [-1.0,1.0]. See ONVIF documentation under "5.1.2.2 Spatial Relation" for more details. The coordinates are based on camera rotation 0 and are not changed even if the camera rotation is any other value.

    +

    A scene with motion description has:

      +
    • time: Timestamp of video frame closest to the tracking result. It is monotonic time in nanoseconds.
    • +
    • objects: Tracked motion objects.
    • +
    • events: Events of changes of tracked motion objects.
    • +
    +

    Each tracked motion object has the following properties:

      +
    • id: The object's unique identification number that is a track over time.
    • +
    • confidence: How confident an object is considered by the tracker.
    • +
    • bounding_box: Describes the object's surrounding rectangle with the four lines (two points) left, top, right, bottom.
    • +
    • polygon: A list of coordinate points that represents the shape and location of the object.
    • +
    • velocity: Is the time derivative of the object's position, where the time unit is 1 second. Thus, for example a velocity of 1 in the x-direction means moving from x=0 to x=1 in one second, and the same applies for the y-direction.
    • +
    +

    Events are used for changes in tracking of objects, such as object deleted, object split, and object merge. The type of event is specified with an action and refers to one or multiple object ids.

      +
    • event_delete: Object is deleted. Has only one id, so the object_id refers to the object that has been deleted (and object_ids is empty).
    • +
    • event_split: The object has split into two or more objects. The object_id is the source id and the object_ids are the target ids, i.e. one id is split into multiple ids.
    • +
    • event_merge: Two or more objects are merged together. The object_ids are the source ids and the object_id is the target id, i.e. multiple ids are merged into one id.
    • +
    +

    See scene.proto (found in <sdk path>/usr/share/protobuf/scene.proto) for a detailed description of the protobuf format.

    +

    The scene data format versions previous to the protobuf version are deprecated! Use SCENE_PROTO_1.

    +

    The video scene motion description service is a shared resource. Good practice is to save system resources by stopping subscriptions when not needed.

    +

    C API documentation

    +

    Copyright (C) 2017-2020 Axis Communications AB, LUND, SWEDEN

    +
    +
    + + + + + diff --git a/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/jquery.js b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/acap-sdk-version-3/api/src/api/video-scene-subscriber/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;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=$('