From 0b376836e27fd4dfdc9bbd4a0d1ba5c3d3b46818 Mon Sep 17 00:00:00 2001 From: zhanglaicheng Date: Wed, 29 Jul 2015 13:20:26 +0800 Subject: [PATCH] update document --- API-html/ITEAD-logo.JPG | Bin 0 -> 11452 bytes API-html/_comp_button_8ino-example.html | 103 ++ API-html/_comp_button_8ino_source.html | 116 ++ API-html/_comp_crop_8ino-example.html | 97 ++ API-html/_comp_crop_8ino_source.html | 108 ++ API-html/_comp_hotspot_8ino-example.html | 115 ++ API-html/_comp_hotspot_8ino_source.html | 127 ++ API-html/_comp_page_8ino-example.html | 118 ++ API-html/_comp_page_8ino_source.html | 130 ++ API-html/_comp_picture_8ino-example.html | 103 ++ API-html/_comp_picture_8ino_source.html | 116 ++ API-html/_comp_pointer_8ino-example.html | 120 ++ API-html/_comp_pointer_8ino_source.html | 134 ++ API-html/_comp_progress_bar_8ino-example.html | 122 ++ API-html/_comp_progress_bar_8ino_source.html | 137 ++ API-html/_comp_text_8ino-example.html | 137 ++ API-html/_comp_text_8ino_source.html | 151 ++ API-html/_nex_button_8cpp.html | 74 + API-html/_nex_button_8cpp_source.html | 111 ++ API-html/_nex_button_8h.html | 83 + API-html/_nex_button_8h_source.html | 88 + API-html/_nex_crop_8cpp.html | 74 + API-html/_nex_crop_8cpp_source.html | 126 ++ API-html/_nex_crop_8h.html | 83 + API-html/_nex_crop_8h_source.html | 86 + API-html/_nex_hotspot_8cpp.html | 74 + API-html/_nex_hotspot_8cpp_source.html | 96 ++ API-html/_nex_hotspot_8h.html | 83 + API-html/_nex_hotspot_8h_source.html | 90 ++ API-html/_nex_page_8cpp.html | 74 + API-html/_nex_page_8cpp_source.html | 102 ++ API-html/_nex_page_8h.html | 83 + API-html/_nex_page_8h_source.html | 86 + API-html/_nex_picture_8cpp.html | 74 + API-html/_nex_picture_8cpp_source.html | 112 ++ API-html/_nex_picture_8h.html | 83 + API-html/_nex_picture_8h_source.html | 88 + API-html/_nex_pointer_8cpp_source.html | 98 ++ API-html/_nex_pointer_8h_source.html | 82 + API-html/_nex_progress_bar_8cpp.html | 74 + API-html/_nex_progress_bar_8cpp_source.html | 100 ++ API-html/_nex_progress_bar_8h.html | 83 + API-html/_nex_progress_bar_8h_source.html | 83 + API-html/_nex_serial_config_8h.html | 73 + API-html/_nex_serial_config_8h_source.html | 84 + API-html/_nex_text_8cpp.html | 74 + API-html/_nex_text_8cpp_source.html | 110 ++ API-html/_nex_text_8h.html | 83 + API-html/_nex_text_8h_source.html | 88 + API-html/_nex_touch_8cpp.html | 484 ++++++ API-html/_nex_touch_8cpp_source.html | 677 ++++++++ API-html/_nex_touch_8h.html | 490 ++++++ API-html/_nex_touch_8h_source.html | 187 +++ API-html/annotated.html | 75 + API-html/bc_s.png | Bin 0 -> 658 bytes API-html/bdwn.png | Bin 0 -> 149 bytes API-html/class_nex_button-members.html | 80 + API-html/class_nex_button.html | 257 +++ API-html/class_nex_button.png | Bin 0 -> 419 bytes API-html/class_nex_crop-members.html | 78 + API-html/class_nex_crop.html | 178 ++ API-html/class_nex_crop.png | Bin 0 -> 419 bytes API-html/class_nex_hotspot-members.html | 80 + API-html/class_nex_hotspot.html | 223 +++ API-html/class_nex_hotspot.png | Bin 0 -> 429 bytes API-html/class_nex_page-members.html | 79 + API-html/class_nex_page.html | 209 +++ API-html/class_nex_page.png | Bin 0 -> 429 bytes API-html/class_nex_picture-members.html | 80 + API-html/class_nex_picture.html | 252 +++ API-html/class_nex_picture.png | Bin 0 -> 421 bytes API-html/class_nex_pointer-members.html | 78 + API-html/class_nex_pointer.html | 207 +++ API-html/class_nex_pointer.png | Bin 0 -> 428 bytes API-html/class_nex_progress_bar-members.html | 78 + API-html/class_nex_progress_bar.html | 207 +++ API-html/class_nex_progress_bar.png | Bin 0 -> 508 bytes API-html/class_nex_text-members.html | 80 + API-html/class_nex_text.html | 256 +++ API-html/class_nex_text.png | Bin 0 -> 407 bytes API-html/class_nex_touch-members.html | 75 + API-html/class_nex_touch.html | 485 ++++++ API-html/class_nex_touch.png | Bin 0 -> 2299 bytes API-html/classes.html | 71 + API-html/closed.png | Bin 0 -> 132 bytes .../dir_376a8598cfd3d58455c161124a3e8051.html | 64 + .../dir_7962cac16a99e8bbaaea18abede03fcb.html | 64 + .../dir_8dcbebf38b229bfa7bb34d68bf824093.html | 64 + .../dir_9bbf8342b0f9a157b7af08fe1412fc17.html | 64 + .../dir_a78b6b3fb4e2d95968f70c807a3ce800.html | 66 + .../dir_c918e8bf3fc71f849978cdb0d900e61c.html | 64 + .../dir_ce36ac18ad3deaf5eae0bd2e09775a7d.html | 64 + .../dir_d28a4824dc47e487b107a5db32ef43c4.html | 78 + .../dir_e68e8157741866f444e17edd764ebbae.html | 64 + .../dir_f3d39c87bc262720c50d5e3885667b8a.html | 64 + .../dir_f76977d9ffe8ddf3ad01f3d689aa5df4.html | 64 + API-html/doxygen.css | 1440 +++++++++++++++++ API-html/doxygen.png | Bin 0 -> 3796 bytes API-html/dynsections.js | 104 ++ API-html/dynsections_8js_source.html | 168 ++ API-html/examples.html | 72 + API-html/files.html | 104 ++ API-html/ftv2blank.png | Bin 0 -> 86 bytes API-html/ftv2doc.png | Bin 0 -> 745 bytes API-html/ftv2folderclosed.png | Bin 0 -> 591 bytes API-html/ftv2folderopen.png | Bin 0 -> 618 bytes API-html/ftv2lastnode.png | Bin 0 -> 86 bytes API-html/ftv2link.png | Bin 0 -> 745 bytes API-html/ftv2mlastnode.png | Bin 0 -> 245 bytes API-html/ftv2mnode.png | Bin 0 -> 245 bytes API-html/ftv2node.png | Bin 0 -> 86 bytes API-html/ftv2plastnode.png | Bin 0 -> 228 bytes API-html/ftv2pnode.png | Bin 0 -> 228 bytes API-html/ftv2splitbar.png | Bin 0 -> 315 bytes API-html/ftv2vertline.png | Bin 0 -> 86 bytes API-html/functions.html | 209 +++ API-html/functions_func.html | 209 +++ API-html/globals.html | 112 ++ API-html/globals_func.html | 112 ++ API-html/hierarchy.html | 75 + API-html/index.hhc | 290 ++++ API-html/index.hhk | 223 +++ API-html/index.hhp | 147 ++ API-html/index.html | 86 + API-html/jquery.js | 39 + API-html/jquery_8js_source.html | 76 + API-html/md_readme.html | 54 + API-html/nav_f.png | Bin 0 -> 152 bytes API-html/nav_g.png | Bin 0 -> 95 bytes API-html/nav_h.png | Bin 0 -> 98 bytes API-html/open.png | Bin 0 -> 123 bytes API-html/pages.html | 59 + API-html/readme_8md_source.html | 128 ++ API-html/sync_off.png | Bin 0 -> 837 bytes API-html/sync_on.png | Bin 0 -> 832 bytes API-html/tab_a.png | Bin 0 -> 139 bytes API-html/tab_b.png | Bin 0 -> 172 bytes API-html/tab_h.png | Bin 0 -> 180 bytes API-html/tab_s.png | Bin 0 -> 195 bytes API-html/tabs.css | 60 + API.chm | Bin 0 -> 298236 bytes 141 files changed, 14189 insertions(+) create mode 100644 API-html/ITEAD-logo.JPG create mode 100644 API-html/_comp_button_8ino-example.html create mode 100644 API-html/_comp_button_8ino_source.html create mode 100644 API-html/_comp_crop_8ino-example.html create mode 100644 API-html/_comp_crop_8ino_source.html create mode 100644 API-html/_comp_hotspot_8ino-example.html create mode 100644 API-html/_comp_hotspot_8ino_source.html create mode 100644 API-html/_comp_page_8ino-example.html create mode 100644 API-html/_comp_page_8ino_source.html create mode 100644 API-html/_comp_picture_8ino-example.html create mode 100644 API-html/_comp_picture_8ino_source.html create mode 100644 API-html/_comp_pointer_8ino-example.html create mode 100644 API-html/_comp_pointer_8ino_source.html create mode 100644 API-html/_comp_progress_bar_8ino-example.html create mode 100644 API-html/_comp_progress_bar_8ino_source.html create mode 100644 API-html/_comp_text_8ino-example.html create mode 100644 API-html/_comp_text_8ino_source.html create mode 100644 API-html/_nex_button_8cpp.html create mode 100644 API-html/_nex_button_8cpp_source.html create mode 100644 API-html/_nex_button_8h.html create mode 100644 API-html/_nex_button_8h_source.html create mode 100644 API-html/_nex_crop_8cpp.html create mode 100644 API-html/_nex_crop_8cpp_source.html create mode 100644 API-html/_nex_crop_8h.html create mode 100644 API-html/_nex_crop_8h_source.html create mode 100644 API-html/_nex_hotspot_8cpp.html create mode 100644 API-html/_nex_hotspot_8cpp_source.html create mode 100644 API-html/_nex_hotspot_8h.html create mode 100644 API-html/_nex_hotspot_8h_source.html create mode 100644 API-html/_nex_page_8cpp.html create mode 100644 API-html/_nex_page_8cpp_source.html create mode 100644 API-html/_nex_page_8h.html create mode 100644 API-html/_nex_page_8h_source.html create mode 100644 API-html/_nex_picture_8cpp.html create mode 100644 API-html/_nex_picture_8cpp_source.html create mode 100644 API-html/_nex_picture_8h.html create mode 100644 API-html/_nex_picture_8h_source.html create mode 100644 API-html/_nex_pointer_8cpp_source.html create mode 100644 API-html/_nex_pointer_8h_source.html create mode 100644 API-html/_nex_progress_bar_8cpp.html create mode 100644 API-html/_nex_progress_bar_8cpp_source.html create mode 100644 API-html/_nex_progress_bar_8h.html create mode 100644 API-html/_nex_progress_bar_8h_source.html create mode 100644 API-html/_nex_serial_config_8h.html create mode 100644 API-html/_nex_serial_config_8h_source.html create mode 100644 API-html/_nex_text_8cpp.html create mode 100644 API-html/_nex_text_8cpp_source.html create mode 100644 API-html/_nex_text_8h.html create mode 100644 API-html/_nex_text_8h_source.html create mode 100644 API-html/_nex_touch_8cpp.html create mode 100644 API-html/_nex_touch_8cpp_source.html create mode 100644 API-html/_nex_touch_8h.html create mode 100644 API-html/_nex_touch_8h_source.html create mode 100644 API-html/annotated.html create mode 100644 API-html/bc_s.png create mode 100644 API-html/bdwn.png create mode 100644 API-html/class_nex_button-members.html create mode 100644 API-html/class_nex_button.html create mode 100644 API-html/class_nex_button.png create mode 100644 API-html/class_nex_crop-members.html create mode 100644 API-html/class_nex_crop.html create mode 100644 API-html/class_nex_crop.png create mode 100644 API-html/class_nex_hotspot-members.html create mode 100644 API-html/class_nex_hotspot.html create mode 100644 API-html/class_nex_hotspot.png create mode 100644 API-html/class_nex_page-members.html create mode 100644 API-html/class_nex_page.html create mode 100644 API-html/class_nex_page.png create mode 100644 API-html/class_nex_picture-members.html create mode 100644 API-html/class_nex_picture.html create mode 100644 API-html/class_nex_picture.png create mode 100644 API-html/class_nex_pointer-members.html create mode 100644 API-html/class_nex_pointer.html create mode 100644 API-html/class_nex_pointer.png create mode 100644 API-html/class_nex_progress_bar-members.html create mode 100644 API-html/class_nex_progress_bar.html create mode 100644 API-html/class_nex_progress_bar.png create mode 100644 API-html/class_nex_text-members.html create mode 100644 API-html/class_nex_text.html create mode 100644 API-html/class_nex_text.png create mode 100644 API-html/class_nex_touch-members.html create mode 100644 API-html/class_nex_touch.html create mode 100644 API-html/class_nex_touch.png create mode 100644 API-html/classes.html create mode 100644 API-html/closed.png create mode 100644 API-html/dir_376a8598cfd3d58455c161124a3e8051.html create mode 100644 API-html/dir_7962cac16a99e8bbaaea18abede03fcb.html create mode 100644 API-html/dir_8dcbebf38b229bfa7bb34d68bf824093.html create mode 100644 API-html/dir_9bbf8342b0f9a157b7af08fe1412fc17.html create mode 100644 API-html/dir_a78b6b3fb4e2d95968f70c807a3ce800.html create mode 100644 API-html/dir_c918e8bf3fc71f849978cdb0d900e61c.html create mode 100644 API-html/dir_ce36ac18ad3deaf5eae0bd2e09775a7d.html create mode 100644 API-html/dir_d28a4824dc47e487b107a5db32ef43c4.html create mode 100644 API-html/dir_e68e8157741866f444e17edd764ebbae.html create mode 100644 API-html/dir_f3d39c87bc262720c50d5e3885667b8a.html create mode 100644 API-html/dir_f76977d9ffe8ddf3ad01f3d689aa5df4.html create mode 100644 API-html/doxygen.css create mode 100644 API-html/doxygen.png create mode 100644 API-html/dynsections.js create mode 100644 API-html/dynsections_8js_source.html create mode 100644 API-html/examples.html create mode 100644 API-html/files.html create mode 100644 API-html/ftv2blank.png create mode 100644 API-html/ftv2doc.png create mode 100644 API-html/ftv2folderclosed.png create mode 100644 API-html/ftv2folderopen.png create mode 100644 API-html/ftv2lastnode.png create mode 100644 API-html/ftv2link.png create mode 100644 API-html/ftv2mlastnode.png create mode 100644 API-html/ftv2mnode.png create mode 100644 API-html/ftv2node.png create mode 100644 API-html/ftv2plastnode.png create mode 100644 API-html/ftv2pnode.png create mode 100644 API-html/ftv2splitbar.png create mode 100644 API-html/ftv2vertline.png create mode 100644 API-html/functions.html create mode 100644 API-html/functions_func.html create mode 100644 API-html/globals.html create mode 100644 API-html/globals_func.html create mode 100644 API-html/hierarchy.html create mode 100644 API-html/index.hhc create mode 100644 API-html/index.hhk create mode 100644 API-html/index.hhp create mode 100644 API-html/index.html create mode 100644 API-html/jquery.js create mode 100644 API-html/jquery_8js_source.html create mode 100644 API-html/md_readme.html create mode 100644 API-html/nav_f.png create mode 100644 API-html/nav_g.png create mode 100644 API-html/nav_h.png create mode 100644 API-html/open.png create mode 100644 API-html/pages.html create mode 100644 API-html/readme_8md_source.html create mode 100644 API-html/sync_off.png create mode 100644 API-html/sync_on.png create mode 100644 API-html/tab_a.png create mode 100644 API-html/tab_b.png create mode 100644 API-html/tab_h.png create mode 100644 API-html/tab_s.png create mode 100644 API-html/tabs.css create mode 100644 API.chm diff --git a/API-html/ITEAD-logo.JPG b/API-html/ITEAD-logo.JPG new file mode 100644 index 0000000000000000000000000000000000000000..b13d5c044bc89560dd4151f77e70eb3a56de84ab GIT binary patch literal 11452 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 iz&Ki3=>c#l2g0bqh`4EziIgsF4@ literal 0 HcmV?d00001 diff --git a/API-html/_comp_button_8ino-example.html b/API-html/_comp_button_8ino-example.html new file mode 100644 index 00000000..e9a89be --- /dev/null +++ b/API-html/_comp_button_8ino-example.html @@ -0,0 +1,103 @@ + + + + + + +API: CompButton.ino + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
CompButton.ino
+
+
+
Show how to use API of class NexButton.
+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ +
+
#include "NexButton.h"
+
+
NexButton b0 = NexButton(0, 1, "b0");
+
char buffer[100] = {0};
+
+
NexTouch *nex_listen_list[] =
+
{
+
&b0,
+
NULL
+
};
+
+
void b0PopCallback(void *ptr)
+
{
+
uint16_t len;
+
uint16_t number;
+
NexButton *btn = (NexButton *)ptr;
+
dbSerialPrintln("b0PopCallback");
+
dbSerialPrint("ptr=");
+
dbSerialPrintln((uint32_t)ptr);
+
memset(buffer, 0, sizeof(buffer));
+
btn->getText(buffer, sizeof(buffer));
+
+
number = atoi(buffer);
+
number += 1;
+
+
memset(buffer, 0, sizeof(buffer));
+
itoa(number, buffer, 10);
+
+
btn->setText(buffer);
+
}
+
+
void setup(void)
+
{
+
dbSerialBegin(9600);
+ +
b0.attachPop(b0PopCallback, &b0);
+
dbSerialPrintln("setup done");
+
}
+
+
void loop(void)
+
{
+
nexLoop(nex_listen_list);
+
}
+
+ + + + diff --git a/API-html/_comp_button_8ino_source.html b/API-html/_comp_button_8ino_source.html new file mode 100644 index 00000000..99357d8 --- /dev/null +++ b/API-html/_comp_button_8ino_source.html @@ -0,0 +1,116 @@ + + + + + + +API: examples/CompButton/CompButton.ino Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+
CompButton.ino
+
+
+
1 
+
16 #include "NexButton.h"
+
17 
+
18 NexButton b0 = NexButton(0, 1, "b0");
+
19 char buffer[100] = {0};
+
20 
+
21 NexTouch *nex_listen_list[] =
+
22 {
+
23  &b0,
+
24  NULL
+
25 };
+
26 
+
27 void b0PopCallback(void *ptr)
+
28 {
+
29  uint16_t len;
+
30  uint16_t number;
+
31  NexButton *btn = (NexButton *)ptr;
+
32  dbSerialPrintln("b0PopCallback");
+
33  dbSerialPrint("ptr=");
+
34  dbSerialPrintln((uint32_t)ptr);
+
35  memset(buffer, 0, sizeof(buffer));
+
36  btn->getText(buffer, sizeof(buffer));
+
37 
+
38  number = atoi(buffer);
+
39  number += 1;
+
40 
+
41  memset(buffer, 0, sizeof(buffer));
+
42  itoa(number, buffer, 10);
+
43 
+
44  btn->setText(buffer);
+
45 }
+
46 
+
47 void setup(void)
+
48 {
+
49  dbSerialBegin(9600);
+
50  nexInit();
+
51  b0.attachPop(b0PopCallback, &b0);
+
52  dbSerialPrintln("setup done");
+
53 }
+
54 
+
55 void loop(void)
+
56 {
+
57  nexLoop(nex_listen_list);
+
58 }
+
uint16_t getText(char *buffer, uint16_t len)
Get text value from button component.
Definition: NexButton.cpp:35
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
API of NexButton.
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register button pop callback function.
Definition: NexButton.cpp:70
+
NexButton,subclass of NexTouch,provides simple methods to control button component.
Definition: NexButton.h:25
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
bool setText(const char *buffer)
Set text value of button component.
Definition: NexButton.cpp:53
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_comp_crop_8ino-example.html b/API-html/_comp_crop_8ino-example.html new file mode 100644 index 00000000..306206b --- /dev/null +++ b/API-html/_comp_crop_8ino-example.html @@ -0,0 +1,97 @@ + + + + + + +API: CompCrop.ino + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
CompCrop.ino
+
+
+
Show how to use API of class NexCrop.
+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ +
+
#include "NexCrop.h"
+
+
NexCrop q0 = NexCrop(0, 1, "q0");
+
+
NexTouch *nex_listen_list[] =
+
{
+
&q0,
+
NULL
+
};
+
+
void q0PopCallback(void *ptr)
+
{
+
uint32_t number = 0;
+
dbSerialPrintln("q0PopCallback");
+
+
q0.getPic(&number);
+
+
number += 1;
+
number %= 2;
+
+
q0.setPic(number);
+
}
+
+
+
void setup(void)
+
{
+
dbSerialBegin(9600);
+ +
q0.attachPop(q0PopCallback);
+
dbSerialPrintln("setup done");
+
}
+
+
void loop(void)
+
{
+
nexLoop(nex_listen_list);
+
}
+
+
+ + + + diff --git a/API-html/_comp_crop_8ino_source.html b/API-html/_comp_crop_8ino_source.html new file mode 100644 index 00000000..2bcc259 --- /dev/null +++ b/API-html/_comp_crop_8ino_source.html @@ -0,0 +1,108 @@ + + + + + + +API: examples/CompCrop/CompCrop.ino Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+
CompCrop.ino
+
+
+
1 
+
16 #include "NexCrop.h"
+
17 
+
18 NexCrop q0 = NexCrop(0, 1, "q0");
+
19 
+
20 NexTouch *nex_listen_list[] =
+
21 {
+
22  &q0,
+
23  NULL
+
24 };
+
25 
+
26 void q0PopCallback(void *ptr)
+
27 {
+
28  uint32_t number = 0;
+
29  dbSerialPrintln("q0PopCallback");
+
30 
+
31  q0.getPic(&number);
+
32 
+
33  number += 1;
+
34  number %= 2;
+
35 
+
36  q0.setPic(number);
+
37 }
+
38 
+
39 
+
40 void setup(void)
+
41 {
+
42  dbSerialBegin(9600);
+
43  nexInit();
+
44  q0.attachPop(q0PopCallback);
+
45  dbSerialPrintln("setup done");
+
46 }
+
47 
+
48 void loop(void)
+
49 {
+
50  nexLoop(nex_listen_list);
+
51 }
+
52 
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
API of NexCrop.
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register crop pop callback function.
Definition: NexCrop.cpp:72
+
NexCrop,subclass of NexTouch,provides simple methods to control crop component.
Definition: NexCrop.h:25
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_comp_hotspot_8ino-example.html b/API-html/_comp_hotspot_8ino-example.html new file mode 100644 index 00000000..4693d87 --- /dev/null +++ b/API-html/_comp_hotspot_8ino-example.html @@ -0,0 +1,115 @@ + + + + + + +API: CompHotspot.ino + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
CompHotspot.ino
+
+
+
Show how to use API of class NexHotspot.
+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ +
+
#include "NexHotspot.h"
+
+
NexHotspot hot0 = NexHotspot(0, 1, "hot0");
+
NexHotspot hot1 = NexHotspot(0, 2, "hot1");
+
+
NexTouch *nex_listen_list[] =
+
{
+
&hot0,
+
&hot1,
+
NULL
+
};
+
+
void hot0PushCallback(void *ptr)
+
{
+
dbSerialPrintln("hot0PushCallback");
+
dbSerialPrint("ptr=");
+
dbSerialPrintln((uint32_t)ptr);
+
}
+
+
void hot1PushCallback(void *ptr)
+
{
+
dbSerialPrintln("hot1PushCallback");
+
dbSerialPrint("ptr=");
+
dbSerialPrintln((uint32_t)ptr);
+
}
+
+
void hot0PopCallback(void *ptr)
+
{
+
dbSerialPrintln("hot0PopCallback");
+
dbSerialPrint("ptr=");
+
dbSerialPrintln((uint32_t)ptr);
+
}
+
+
void hot1PopCallback(void *ptr)
+
{
+
dbSerialPrintln("hot1PopCallback");
+
dbSerialPrint("ptr=");
+
dbSerialPrintln((uint32_t)ptr);
+
}
+
+
void setup(void)
+
{
+
dbSerialBegin(9600);
+ +
hot0.attachPush(hot0PushCallback, &hot0);
+
hot0.attachPop(hot0PopCallback, &hot0);
+
hot1.attachPush(hot1PushCallback, &hot1);
+
hot1.attachPop(hot1PopCallback, &hot1);
+
dbSerialPrintln("setup done");
+
}
+
+
void loop(void)
+
{
+
nexLoop(nex_listen_list);
+
}
+
+ + + + diff --git a/API-html/_comp_hotspot_8ino_source.html b/API-html/_comp_hotspot_8ino_source.html new file mode 100644 index 00000000..adf70a5 --- /dev/null +++ b/API-html/_comp_hotspot_8ino_source.html @@ -0,0 +1,127 @@ + + + + + + +API: examples/CompHotspot/CompHotspot.ino Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+
CompHotspot.ino
+
+
+
1 
+
16 #include "NexHotspot.h"
+
17 
+
18 NexHotspot hot0 = NexHotspot(0, 1, "hot0");
+
19 NexHotspot hot1 = NexHotspot(0, 2, "hot1");
+
20 
+
21 NexTouch *nex_listen_list[] =
+
22 {
+
23  &hot0,
+
24  &hot1,
+
25  NULL
+
26 };
+
27 
+
28 void hot0PushCallback(void *ptr)
+
29 {
+
30  dbSerialPrintln("hot0PushCallback");
+
31  dbSerialPrint("ptr=");
+
32  dbSerialPrintln((uint32_t)ptr);
+
33 }
+
34 
+
35 void hot1PushCallback(void *ptr)
+
36 {
+
37  dbSerialPrintln("hot1PushCallback");
+
38  dbSerialPrint("ptr=");
+
39  dbSerialPrintln((uint32_t)ptr);
+
40 }
+
41 
+
42 void hot0PopCallback(void *ptr)
+
43 {
+
44  dbSerialPrintln("hot0PopCallback");
+
45  dbSerialPrint("ptr=");
+
46  dbSerialPrintln((uint32_t)ptr);
+
47 }
+
48 
+
49 void hot1PopCallback(void *ptr)
+
50 {
+
51  dbSerialPrintln("hot1PopCallback");
+
52  dbSerialPrint("ptr=");
+
53  dbSerialPrintln((uint32_t)ptr);
+
54 }
+
55 
+
56 void setup(void)
+
57 {
+
58  dbSerialBegin(9600);
+
59  nexInit();
+
60  hot0.attachPush(hot0PushCallback, &hot0);
+
61  hot0.attachPop(hot0PopCallback, &hot0);
+
62  hot1.attachPush(hot1PushCallback, &hot1);
+
63  hot1.attachPop(hot1PopCallback, &hot1);
+
64  dbSerialPrintln("setup done");
+
65 }
+
66 
+
67 void loop(void)
+
68 {
+
69  nexLoop(nex_listen_list);
+
70 }
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
API of NexHotspot.
+
NexHotspot,subclass of NexTouch,provides simple methods to control hotspot component.
Definition: NexHotspot.h:25
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register hotspot pop callback function.
Definition: NexHotspot.cpp:55
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
void attachPush(NexTouchEventCb push, void *ptr=NULL)
Register hotspot push callback function.
Definition: NexHotspot.cpp:35
+
+ + + + diff --git a/API-html/_comp_page_8ino-example.html b/API-html/_comp_page_8ino-example.html new file mode 100644 index 00000000..6ecc42a --- /dev/null +++ b/API-html/_comp_page_8ino-example.html @@ -0,0 +1,118 @@ + + + + + + +API: CompPage.ino + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
CompPage.ino
+
+
+
Show how to use API of class NexPage.
+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ +
+
#include "NexPage.h"
+
+
NexPage page0 = NexPage(0, 0, "page0");
+
NexPage page1 = NexPage(1, 0, "page1");
+
NexPage page2 = NexPage(2, 0, "page2");
+
NexPage page3 = NexPage(3, 0, "page3");
+
+
NexTouch *nex_listen_list[] =
+
{
+
&page0,
+
&page1,
+
&page2,
+
&page3,
+
NULL
+
};
+
+
void page0PopCallback(void *ptr)
+
{
+
dbSerialPrintln("page0PopCallback");
+
page1.show();
+
}
+
+
void page1PopCallback(void *ptr)
+
{
+
dbSerialPrintln("page1PopCallback");
+
page2.show();
+
}
+
+
void page2PopCallback(void *ptr)
+
{
+
dbSerialPrintln("page2PopCallback");
+
page3.show();
+
}
+
+
void page3PopCallback(void *ptr)
+
{
+
dbSerialPrintln("page3PopCallback");
+
page0.show();
+
}
+
+
void setup(void)
+
{
+
dbSerialBegin(9600);
+ +
dbSerialPrintln("setup begin");
+
+
page0.attachPop(page0PopCallback);
+
page1.attachPop(page1PopCallback);
+
page2.attachPop(page2PopCallback);
+
page3.attachPop(page3PopCallback);
+
+
dbSerialPrintln("setup end");
+
}
+
+
void loop(void)
+
{
+
nexLoop(nex_listen_list);
+
}
+
+ + + + diff --git a/API-html/_comp_page_8ino_source.html b/API-html/_comp_page_8ino_source.html new file mode 100644 index 00000000..d16d09e --- /dev/null +++ b/API-html/_comp_page_8ino_source.html @@ -0,0 +1,130 @@ + + + + + + +API: examples/CompPage/CompPage.ino Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+
CompPage.ino
+
+
+
1 
+
16 #include "NexPage.h"
+
17 
+
18 NexPage page0 = NexPage(0, 0, "page0");
+
19 NexPage page1 = NexPage(1, 0, "page1");
+
20 NexPage page2 = NexPage(2, 0, "page2");
+
21 NexPage page3 = NexPage(3, 0, "page3");
+
22 
+
23 NexTouch *nex_listen_list[] =
+
24 {
+
25  &page0,
+
26  &page1,
+
27  &page2,
+
28  &page3,
+
29  NULL
+
30 };
+
31 
+
32 void page0PopCallback(void *ptr)
+
33 {
+
34  dbSerialPrintln("page0PopCallback");
+
35  page1.show();
+
36 }
+
37 
+
38 void page1PopCallback(void *ptr)
+
39 {
+
40  dbSerialPrintln("page1PopCallback");
+
41  page2.show();
+
42 }
+
43 
+
44 void page2PopCallback(void *ptr)
+
45 {
+
46  dbSerialPrintln("page2PopCallback");
+
47  page3.show();
+
48 }
+
49 
+
50 void page3PopCallback(void *ptr)
+
51 {
+
52  dbSerialPrintln("page3PopCallback");
+
53  page0.show();
+
54 }
+
55 
+
56 void setup(void)
+
57 {
+
58  dbSerialBegin(9600);
+
59  nexInit();
+
60  dbSerialPrintln("setup begin");
+
61 
+
62  page0.attachPop(page0PopCallback);
+
63  page1.attachPop(page1PopCallback);
+
64  page2.attachPop(page2PopCallback);
+
65  page3.attachPop(page3PopCallback);
+
66 
+
67  dbSerialPrintln("setup end");
+
68 }
+
69 
+
70 void loop(void)
+
71 {
+
72  nexLoop(nex_listen_list);
+
73 }
+
bool show(void)
Change page.
Definition: NexPage.cpp:33
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
API of NexPage.
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
NexPage,subclass of NexTouch,provides simple methods to control page component.
Definition: NexPage.h:25
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register page pop callback function.
Definition: NexPage.cpp:55
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_comp_picture_8ino-example.html b/API-html/_comp_picture_8ino-example.html new file mode 100644 index 00000000..14d094b --- /dev/null +++ b/API-html/_comp_picture_8ino-example.html @@ -0,0 +1,103 @@ + + + + + + +API: CompPicture.ino + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
CompPicture.ino
+
+
+
Show how to use API of class NexPicture.
+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ +
+
#include "NexPicture.h"
+
+
NexPicture p0 = NexPicture(0, 1, "p0");
+
+
NexTouch *nex_listen_list[] =
+
{
+
&p0,
+
NULL
+
};
+
+
void p0PopCallback(void *ptr)
+
{
+
uint32_t number = 0;
+
dbSerialPrintln("p0PopCallback");
+
+
p0.getPic(&number);
+
+
if (number == 1)
+
{
+
number = 2;
+
}
+
else
+
{
+
number = 1;
+
}
+
+
p0.setPic(number);
+
}
+
+
+
void setup(void)
+
{
+
dbSerialBegin(9600);
+ +
p0.attachPop(p0PopCallback);
+
dbSerialPrintln("setup done");
+
}
+
+
void loop(void)
+
{
+
nexLoop(nex_listen_list);
+
}
+
+
+ + + + diff --git a/API-html/_comp_picture_8ino_source.html b/API-html/_comp_picture_8ino_source.html new file mode 100644 index 00000000..e23a1d0 --- /dev/null +++ b/API-html/_comp_picture_8ino_source.html @@ -0,0 +1,116 @@ + + + + + + +API: examples/CompPicture/CompPicture.ino Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+
CompPicture.ino
+
+
+
1 
+
16 #include "NexPicture.h"
+
17 
+
18 NexPicture p0 = NexPicture(0, 1, "p0");
+
19 
+
20 NexTouch *nex_listen_list[] =
+
21 {
+
22  &p0,
+
23  NULL
+
24 };
+
25 
+
26 void p0PopCallback(void *ptr)
+
27 {
+
28  uint32_t number = 0;
+
29  dbSerialPrintln("p0PopCallback");
+
30 
+
31  p0.getPic(&number);
+
32 
+
33  if (number == 1)
+
34  {
+
35  number = 2;
+
36  }
+
37  else
+
38  {
+
39  number = 1;
+
40  }
+
41 
+
42  p0.setPic(number);
+
43 }
+
44 
+
45 
+
46 void setup(void)
+
47 {
+
48  dbSerialBegin(9600);
+
49  nexInit();
+
50  p0.attachPop(p0PopCallback);
+
51  dbSerialPrintln("setup done");
+
52 }
+
53 
+
54 void loop(void)
+
55 {
+
56  nexLoop(nex_listen_list);
+
57 }
+
58 
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
bool setPic(uint32_t number)
Set picture's number.
Definition: NexPicture.cpp:52
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
NexPicture,subclass of NexTouch,provides simple methods to control picture component.
Definition: NexPicture.h:25
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register picture pop callback function.
Definition: NexPicture.cpp:72
+
bool getPic(uint32_t *number)
Get picture's number.
Definition: NexPicture.cpp:35
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
API of NexPicture.
+
+ + + + diff --git a/API-html/_comp_pointer_8ino-example.html b/API-html/_comp_pointer_8ino-example.html new file mode 100644 index 00000000..abf1273 --- /dev/null +++ b/API-html/_comp_pointer_8ino-example.html @@ -0,0 +1,120 @@ + + + + + + +API: CompPointer.ino + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
CompPointer.ino
+
+
+
Show how to use API of class NexPointer.
+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ +
+
#include "NexPointer.h"
+
#include "NexButton.h"
+
+
NexPointer pointer = NexPointer(0, 1, "pointer");
+
NexButton btn_up = NexButton(0, 2, "btn_up");
+
NexButton btn_down = NexButton(0, 3, "btn_down");
+
+
NexTouch *nex_listen_list[] =
+
{
+
&btn_up,
+
&btn_down,
+
NULL
+
};
+
+
void buttonUpPopCallback(void *ptr)
+
{
+
uint32_t number = 0;
+
dbSerialPrintln("buttonUpPopCallback");
+
+
pointer.getValue(&number);
+
+
number += 5;
+
if (number >= 360)
+
{
+
number = 0;
+
}
+
+
pointer.setValue(number);
+
}
+
void buttonDownPopCallback(void *ptr)
+
{
+
uint32_t number = 0;
+
dbSerialPrintln("buttonDownPopCallback");
+
+
pointer.getValue(&number);
+
+
if (number >= 5)
+
{
+
number -= 5;
+
}
+
+
pointer.setValue(number);
+
}
+
+
+
+
void setup(void)
+
{
+
dbSerialBegin(9600);
+ +
btn_up.attachPop(buttonUpPopCallback);
+
btn_down.attachPop(buttonDownPopCallback);
+
dbSerialPrintln("setup done");
+
}
+
+
void loop(void)
+
{
+
nexLoop(nex_listen_list);
+
}
+
+
+ + + + diff --git a/API-html/_comp_pointer_8ino_source.html b/API-html/_comp_pointer_8ino_source.html new file mode 100644 index 00000000..ba5044a --- /dev/null +++ b/API-html/_comp_pointer_8ino_source.html @@ -0,0 +1,134 @@ + + + + + + +API: examples/CompPointer/CompPointer.ino Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+
CompPointer.ino
+
+
+
1 
+
16 #include "NexPointer.h"
+
17 #include "NexButton.h"
+
18 
+
19 NexPointer pointer = NexPointer(0, 1, "pointer");
+
20 NexButton btn_up = NexButton(0, 2, "btn_up");
+
21 NexButton btn_down = NexButton(0, 3, "btn_down");
+
22 
+
23 NexTouch *nex_listen_list[] =
+
24 {
+
25  &btn_up,
+
26  &btn_down,
+
27  NULL
+
28 };
+
29 
+
30 void buttonUpPopCallback(void *ptr)
+
31 {
+
32  uint32_t number = 0;
+
33  dbSerialPrintln("buttonUpPopCallback");
+
34 
+
35  pointer.getValue(&number);
+
36 
+
37  number += 5;
+
38  if (number >= 360)
+
39  {
+
40  number = 0;
+
41  }
+
42 
+
43  pointer.setValue(number);
+
44 }
+
45 void buttonDownPopCallback(void *ptr)
+
46 {
+
47  uint32_t number = 0;
+
48  dbSerialPrintln("buttonDownPopCallback");
+
49 
+
50  pointer.getValue(&number);
+
51 
+
52  if (number >= 5)
+
53  {
+
54  number -= 5;
+
55  }
+
56 
+
57  pointer.setValue(number);
+
58 }
+
59 
+
60 
+
61 
+
62 void setup(void)
+
63 {
+
64  dbSerialBegin(9600);
+
65  nexInit();
+
66  btn_up.attachPop(buttonUpPopCallback);
+
67  btn_down.attachPop(buttonDownPopCallback);
+
68  dbSerialPrintln("setup done");
+
69 }
+
70 
+
71 void loop(void)
+
72 {
+
73  nexLoop(nex_listen_list);
+
74 }
+
75 
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
API of NexButton.
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register button pop callback function.
Definition: NexButton.cpp:70
+
bool getValue(uint32_t *number)
Get the value of pointer.
Definition: NexPointer.cpp:20
+
NexPointer,subclass of NexTouch,provides simple methods to control pointer component.
Definition: NexPointer.h:10
+
NexButton,subclass of NexTouch,provides simple methods to control button component.
Definition: NexButton.h:25
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
bool setValue(uint32_t number)
Set the value of pointer.
Definition: NexPointer.cpp:37
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_comp_progress_bar_8ino-example.html b/API-html/_comp_progress_bar_8ino-example.html new file mode 100644 index 00000000..c3fa5e3 --- /dev/null +++ b/API-html/_comp_progress_bar_8ino-example.html @@ -0,0 +1,122 @@ + + + + + + +API: CompProgressBar.ino + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
CompProgressBar.ino
+
+
+
Show how to use API of class NexProgressBar.
+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ +
+
#include "NexProgressBar.h"
+
#include "NexButton.h"
+
+
NexProgressBar j0 = NexProgressBar(0, 3, "j0");
+
NexButton btn_up = NexButton(0, 1, "btn_up");
+
NexButton btn_down = NexButton(0, 2, "btn_down");
+
+
NexTouch *nex_listen_list[] =
+
{
+
&btn_up,
+
&btn_down,
+
NULL
+
};
+
+
void buttonUpPopCallback(void *ptr)
+
{
+
uint32_t number = 0;
+
dbSerialPrintln("buttonUpPopCallback");
+
+
j0.getValue(&number);
+
+
number += 5;
+
if (number >= 100)
+
{
+
number = 100;
+
}
+
+
j0.setValue(number);
+
}
+
void buttonDownPopCallback(void *ptr)
+
{
+
uint32_t number = 0;
+
dbSerialPrintln("buttonDownPopCallback");
+
+
j0.getValue(&number);
+
+
if (number >= 5)
+
{
+
number -= 5;
+
}
+
+
j0.setValue(number);
+
}
+
+
+
+
void setup(void)
+
{
+
uint32_t brightness = 0;
+
+
dbSerialBegin(9600);
+ +
btn_up.attachPop(buttonUpPopCallback);
+
btn_down.attachPop(buttonDownPopCallback);
+
dbSerialPrintln("setup done");
+
}
+
+
void loop(void)
+
{
+
nexLoop(nex_listen_list);
+
}
+
+
+ + + + diff --git a/API-html/_comp_progress_bar_8ino_source.html b/API-html/_comp_progress_bar_8ino_source.html new file mode 100644 index 00000000..501df76 --- /dev/null +++ b/API-html/_comp_progress_bar_8ino_source.html @@ -0,0 +1,137 @@ + + + + + + +API: examples/CompProgressBar/CompProgressBar.ino Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+
CompProgressBar.ino
+
+
+
1 
+
16 #include "NexProgressBar.h"
+
17 #include "NexButton.h"
+
18 
+
19 NexProgressBar j0 = NexProgressBar(0, 3, "j0");
+
20 NexButton btn_up = NexButton(0, 1, "btn_up");
+
21 NexButton btn_down = NexButton(0, 2, "btn_down");
+
22 
+
23 NexTouch *nex_listen_list[] =
+
24 {
+
25  &btn_up,
+
26  &btn_down,
+
27  NULL
+
28 };
+
29 
+
30 void buttonUpPopCallback(void *ptr)
+
31 {
+
32  uint32_t number = 0;
+
33  dbSerialPrintln("buttonUpPopCallback");
+
34 
+
35  j0.getValue(&number);
+
36 
+
37  number += 5;
+
38  if (number >= 100)
+
39  {
+
40  number = 100;
+
41  }
+
42 
+
43  j0.setValue(number);
+
44 }
+
45 void buttonDownPopCallback(void *ptr)
+
46 {
+
47  uint32_t number = 0;
+
48  dbSerialPrintln("buttonDownPopCallback");
+
49 
+
50  j0.getValue(&number);
+
51 
+
52  if (number >= 5)
+
53  {
+
54  number -= 5;
+
55  }
+
56 
+
57  j0.setValue(number);
+
58 }
+
59 
+
60 
+
61 
+
62 void setup(void)
+
63 {
+
64  uint32_t brightness = 0;
+
65 
+
66  dbSerialBegin(9600);
+
67  nexInit();
+
68  btn_up.attachPop(buttonUpPopCallback);
+
69  btn_down.attachPop(buttonDownPopCallback);
+
70  dbSerialPrintln("setup done");
+
71 }
+
72 
+
73 void loop(void)
+
74 {
+
75  nexLoop(nex_listen_list);
+
76 }
+
77 
+
bool setValue(uint32_t number)
Set the value of progress bar.
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
API of NexButton.
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register button pop callback function.
Definition: NexButton.cpp:70
+
NexButton,subclass of NexTouch,provides simple methods to control button component.
Definition: NexButton.h:25
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
bool getValue(uint32_t *number)
Get the value of progress bar.
+
API of NexProgressBar.
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
NexProgressBar,subclass of NexTouch,provides simple methods to control progress bar component...
+
+ + + + diff --git a/API-html/_comp_text_8ino-example.html b/API-html/_comp_text_8ino-example.html new file mode 100644 index 00000000..d6da4cb --- /dev/null +++ b/API-html/_comp_text_8ino-example.html @@ -0,0 +1,137 @@ + + + + + + +API: CompText.ino + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
CompText.ino
+
+
+
Show how to use API of class NexText.
+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ +
+
#include "NexButton.h"
+
#include "NexText.h"
+
+
void t0PopCallback(void *ptr);
+
void b0PopCallback(void *ptr);
+
void b1PopCallback(void *ptr);
+
+
NexText t0 = NexText(0, 1, "t0", t0PopCallback);
+
NexButton b0 = NexButton(0, 2, "b0", b0PopCallback);
+
NexButton b1 = NexButton(0, 3, "b1", b1PopCallback);
+
+
char buffer[100] = {0};
+
+
NexTouch *nex_listen_list[] =
+
{
+
&t0,
+
&b0,
+
&b1,
+
NULL
+
};
+
+
void t0PopCallback(void *ptr)
+
{
+
dbSerialPrintln("t0PopCallback");
+
t0.setText("50");
+
}
+
+
void b0PopCallback(void *ptr)
+
{
+
uint16_t len;
+
uint16_t number;
+
+
dbSerialPrintln("b0PopCallback");
+
+
memset(buffer, 0, sizeof(buffer));
+
t0.getText(buffer, sizeof(buffer));
+
+
number = atoi(buffer);
+
number += 1;
+
+
memset(buffer, 0, sizeof(buffer));
+
itoa(number, buffer, 10);
+
+
t0.setText(buffer);
+
}
+
+
void b1PopCallback(void *ptr)
+
{
+
uint16_t len;
+
uint16_t number;
+
+
dbSerialPrintln("b1PopCallback");
+
+
memset(buffer, 0, sizeof(buffer));
+
t0.getText(buffer, sizeof(buffer));
+
+
number = atoi(buffer);
+
number -= 1;
+
+
memset(buffer, 0, sizeof(buffer));
+
itoa(number, buffer, 10);
+
+
t0.setText(buffer);
+
}
+
+
void setup(void)
+
{
+
dbSerialBegin(9600);
+ +
dbSerialPrintln("setup done");
+
}
+
+
void loop(void)
+
{
+
nexLoop(nex_listen_list);
+
}
+
+
+ + + + diff --git a/API-html/_comp_text_8ino_source.html b/API-html/_comp_text_8ino_source.html new file mode 100644 index 00000000..ea8c505 --- /dev/null +++ b/API-html/_comp_text_8ino_source.html @@ -0,0 +1,151 @@ + + + + + + +API: examples/CompText/CompText.ino Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+
CompText.ino
+
+
+
1 
+
16 #include "NexButton.h"
+
17 #include "NexText.h"
+
18 
+
19 void t0PopCallback(void *ptr);
+
20 void b0PopCallback(void *ptr);
+
21 void b1PopCallback(void *ptr);
+
22 
+
23 NexText t0 = NexText(0, 1, "t0", t0PopCallback);
+
24 NexButton b0 = NexButton(0, 2, "b0", b0PopCallback);
+
25 NexButton b1 = NexButton(0, 3, "b1", b1PopCallback);
+
26 
+
27 char buffer[100] = {0};
+
28 
+
29 NexTouch *nex_listen_list[] =
+
30 {
+
31  &t0,
+
32  &b0,
+
33  &b1,
+
34  NULL
+
35 };
+
36 
+
37 void t0PopCallback(void *ptr)
+
38 {
+
39  dbSerialPrintln("t0PopCallback");
+
40  t0.setText("50");
+
41 }
+
42 
+
43 void b0PopCallback(void *ptr)
+
44 {
+
45  uint16_t len;
+
46  uint16_t number;
+
47 
+
48  dbSerialPrintln("b0PopCallback");
+
49 
+
50  memset(buffer, 0, sizeof(buffer));
+
51  t0.getText(buffer, sizeof(buffer));
+
52 
+
53  number = atoi(buffer);
+
54  number += 1;
+
55 
+
56  memset(buffer, 0, sizeof(buffer));
+
57  itoa(number, buffer, 10);
+
58 
+
59  t0.setText(buffer);
+
60 }
+
61 
+
62 void b1PopCallback(void *ptr)
+
63 {
+
64  uint16_t len;
+
65  uint16_t number;
+
66 
+
67  dbSerialPrintln("b1PopCallback");
+
68 
+
69  memset(buffer, 0, sizeof(buffer));
+
70  t0.getText(buffer, sizeof(buffer));
+
71 
+
72  number = atoi(buffer);
+
73  number -= 1;
+
74 
+
75  memset(buffer, 0, sizeof(buffer));
+
76  itoa(number, buffer, 10);
+
77 
+
78  t0.setText(buffer);
+
79 }
+
80 
+
81 void setup(void)
+
82 {
+
83  dbSerialBegin(9600);
+
84  nexInit();
+
85  dbSerialPrintln("setup done");
+
86 }
+
87 
+
88 void loop(void)
+
89 {
+
90  nexLoop(nex_listen_list);
+
91 }
+
92 
+
bool setText(const char *buffer)
Set the value of text.
Definition: NexText.cpp:53
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
API of NexText.
+
API of NexButton.
+
NexButton,subclass of NexTouch,provides simple methods to control button component.
Definition: NexButton.h:25
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
uint16_t getText(char *buffer, uint16_t len)
Get the value of text.
Definition: NexText.cpp:35
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
NexText,subclass of NexTouch,provides simple methods to control text component.
Definition: NexText.h:25
+
+ + + + diff --git a/API-html/_nex_button_8cpp.html b/API-html/_nex_button_8cpp.html new file mode 100644 index 00000000..1f08344 --- /dev/null +++ b/API-html/_nex_button_8cpp.html @@ -0,0 +1,74 @@ + + + + + + +API: NexButton.cpp File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexButton.cpp File Reference
+
+
+ +

API of NexButton. +More...

+
#include "NexButton.h"
+
+

Go to the source code of this file.

+

Detailed Description

+

API of NexButton.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexButton.cpp.

+
+ + + + diff --git a/API-html/_nex_button_8cpp_source.html b/API-html/_nex_button_8cpp_source.html new file mode 100644 index 00000000..6b1fe1b --- /dev/null +++ b/API-html/_nex_button_8cpp_source.html @@ -0,0 +1,111 @@ + + + + + + +API: NexButton.cpp Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexButton.cpp
+
+
+Go to the documentation of this file.
1 
+
16 #include "NexButton.h"
+
17 
+
22 NexButton::NexButton(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop, void *pop_ptr)
+
23  :NexTouch(pid, cid, name, pop, pop_ptr)
+
24 {
+
25 }
+
26 
+
35 uint16_t NexButton::getText(char *buffer, uint16_t len)
+
36 {
+
37  String cmd;
+
38  cmd += "get ";
+
39  cmd += getObjName();
+
40  cmd += ".txt";
+
41  sendCommand(cmd.c_str());
+
42  return recvRetString(buffer,len);
+
43 }
+
44 
+
53 bool NexButton::setText(const char *buffer)
+
54 {
+
55  String cmd;
+
56  cmd += getObjName();
+
57  cmd += ".txt=\"";
+
58  cmd += buffer;
+
59  cmd += "\"";
+
60  sendCommand(cmd.c_str());
+
61  return recvRetCommandFinished();
+
62 }
+
63 
+
70 void NexButton::attachPop(NexTouchEventCb pop, void *ptr)
+
71 {
+
72  NexTouch::attachPop(pop, ptr);
+
73 }
+
74 
+ +
80 {
+
81  NexTouch::detachPop();
+
82 }
+
83 
+
84 
+
NexButton(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexButton.cpp:22
+
uint16_t getText(char *buffer, uint16_t len)
Get text value from button component.
Definition: NexButton.cpp:35
+
API of NexButton.
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register button pop callback function.
Definition: NexButton.cpp:70
+
static void sendCommand(const char *cmd)
Send command to Nextion.
Definition: NexTouch.cpp:256
+
const char * getObjName(void)
Get component name.
Definition: NexTouch.cpp:107
+
bool setText(const char *buffer)
Set text value of button component.
Definition: NexButton.cpp:53
+
static uint16_t recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)
Receive string data.
Definition: NexTouch.cpp:279
+
void detachPop(void)
Unload button pop callback function.
Definition: NexButton.cpp:79
+
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
Definition: NexTouch.cpp:219
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_button_8h.html b/API-html/_nex_button_8h.html new file mode 100644 index 00000000..b0319af --- /dev/null +++ b/API-html/_nex_button_8h.html @@ -0,0 +1,83 @@ + + + + + + +API: NexButton.h File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexButton.h File Reference
+
+
+ +

API of NexButton. +More...

+
#include "NexTouch.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  NexButton
 NexButton,subclass of NexTouch,provides simple methods to control button component. More...
 
+

Detailed Description

+

API of NexButton.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexButton.h.

+
+ + + + diff --git a/API-html/_nex_button_8h_source.html b/API-html/_nex_button_8h_source.html new file mode 100644 index 00000000..4274555 --- /dev/null +++ b/API-html/_nex_button_8h_source.html @@ -0,0 +1,88 @@ + + + + + + +API: NexButton.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexButton.h
+
+
+Go to the documentation of this file.
1 
+
16 #ifndef __NEXBUTTON_H__
+
17 #define __NEXBUTTON_H__
+
18 #ifdef __cplusplus
+
19 #include "NexTouch.h"
+
20 
+
25 class NexButton: public NexTouch
+
26 {
+
27 public: /* methods */
+
28  NexButton(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop = NULL, void *pop_ptr = NULL);
+
29 
+
30  void attachPop(NexTouchEventCb pop, void *ptr = NULL);
+
31  void detachPop(void);
+
32 
+
33  uint16_t getText(char *buffer, uint16_t len);
+
34  bool setText(const char *buffer);
+
35 };
+
36 
+
37 #endif /* #ifdef __cplusplus */
+
38 #endif /* #ifndef __NEXBUTTON_H__ */
+
NexButton(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexButton.cpp:22
+
uint16_t getText(char *buffer, uint16_t len)
Get text value from button component.
Definition: NexButton.cpp:35
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register button pop callback function.
Definition: NexButton.cpp:70
+
NexButton,subclass of NexTouch,provides simple methods to control button component.
Definition: NexButton.h:25
+
bool setText(const char *buffer)
Set text value of button component.
Definition: NexButton.cpp:53
+
API of Nextion.
+
void detachPop(void)
Unload button pop callback function.
Definition: NexButton.cpp:79
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_crop_8cpp.html b/API-html/_nex_crop_8cpp.html new file mode 100644 index 00000000..8140923 --- /dev/null +++ b/API-html/_nex_crop_8cpp.html @@ -0,0 +1,74 @@ + + + + + + +API: NexCrop.cpp File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexCrop.cpp File Reference
+
+
+ +

API of NexCrop. +More...

+
#include "NexCrop.h"
+
+

Go to the source code of this file.

+

Detailed Description

+

API of NexCrop.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexCrop.cpp.

+
+ + + + diff --git a/API-html/_nex_crop_8cpp_source.html b/API-html/_nex_crop_8cpp_source.html new file mode 100644 index 00000000..7897e3d --- /dev/null +++ b/API-html/_nex_crop_8cpp_source.html @@ -0,0 +1,126 @@ + + + + + + +API: NexCrop.cpp Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexCrop.cpp
+
+
+Go to the documentation of this file.
1 
+
16 #include "NexCrop.h"
+
17 
+
22 NexCrop::NexCrop(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop, void *pop_ptr)
+
23  :NexTouch(pid, cid, name, pop, pop_ptr)
+
24 {
+
25 }
+
26 
+
27 /*
+
28  * Get the number of picture.
+
29  *
+
30  * @param number - an output parameter to save the number of picture.
+
31  *
+
32  * @retval true - success.
+
33  * @retval false - failed.
+
34  */
+
35 bool NexCrop::getPic(uint32_t *number)
+
36 {
+
37  String cmd = String("get ");
+
38  cmd += getObjName();
+
39  cmd += ".picc";
+
40  sendCommand(cmd.c_str());
+
41  return recvRetNumber(number);
+
42 }
+
43 
+
44 /*
+
45  * Set the number of picture.
+
46  *
+
47  * @param number - the number of picture.
+
48  *
+
49  * @retval true - success.
+
50  * @retval false - failed.
+
51  */
+
52 bool NexCrop::setPic(uint32_t number)
+
53 {
+
54  char buf[10] = {0};
+
55  String cmd;
+
56 
+
57  utoa(number, buf, 10);
+
58  cmd += getObjName();
+
59  cmd += ".picc=";
+
60  cmd += buf;
+
61 
+
62  sendCommand(cmd.c_str());
+
63  return recvRetCommandFinished();
+
64 }
+
65 
+
72 void NexCrop::attachPop(NexTouchEventCb pop, void *ptr)
+
73 {
+
74  NexTouch::attachPop(pop, ptr);
+
75 }
+
76 
+ +
82 {
+
83  NexTouch::detachPop();
+
84 }
+
85 
+
NexCrop(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexCrop.cpp:22
+
void detachPop(void)
Unload crop pop callback function.
Definition: NexCrop.cpp:81
+
static void sendCommand(const char *cmd)
Send command to Nextion.
Definition: NexTouch.cpp:256
+
const char * getObjName(void)
Get component name.
Definition: NexTouch.cpp:107
+
API of NexCrop.
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register crop pop callback function.
Definition: NexCrop.cpp:72
+
static bool recvRetNumber(uint32_t *number, uint32_t timeout=500)
Receive uint32_t data.
Definition: NexTouch.cpp:351
+
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
Definition: NexTouch.cpp:219
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_crop_8h.html b/API-html/_nex_crop_8h.html new file mode 100644 index 00000000..51b0403 --- /dev/null +++ b/API-html/_nex_crop_8h.html @@ -0,0 +1,83 @@ + + + + + + +API: NexCrop.h File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexCrop.h File Reference
+
+
+ +

API of NexCrop. +More...

+
#include "NexTouch.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  NexCrop
 NexCrop,subclass of NexTouch,provides simple methods to control crop component. More...
 
+

Detailed Description

+

API of NexCrop.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexCrop.h.

+
+ + + + diff --git a/API-html/_nex_crop_8h_source.html b/API-html/_nex_crop_8h_source.html new file mode 100644 index 00000000..703cf85 --- /dev/null +++ b/API-html/_nex_crop_8h_source.html @@ -0,0 +1,86 @@ + + + + + + +API: NexCrop.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexCrop.h
+
+
+Go to the documentation of this file.
1 
+
16 #ifndef __NEXCROP_H__
+
17 #define __NEXCROP_H__
+
18 #ifdef __cplusplus
+
19 #include "NexTouch.h"
+
20 
+
25 class NexCrop: public NexTouch
+
26 {
+
27 public: /* methods */
+
28  NexCrop(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop = NULL, void *pop_ptr = NULL);
+
29 
+
30  void attachPop(NexTouchEventCb pop, void *ptr = NULL);
+
31  void detachPop(void);
+
32 
+
33  bool getPic(uint32_t *number);
+
34  bool setPic(uint32_t number);
+
35 };
+
36 
+
37 #endif /* #ifdef __cplusplus */
+
38 #endif /* #ifndef __NEXCROP_H__ */
+
NexCrop(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexCrop.cpp:22
+
void detachPop(void)
Unload crop pop callback function.
Definition: NexCrop.cpp:81
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register crop pop callback function.
Definition: NexCrop.cpp:72
+
API of Nextion.
+
NexCrop,subclass of NexTouch,provides simple methods to control crop component.
Definition: NexCrop.h:25
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_hotspot_8cpp.html b/API-html/_nex_hotspot_8cpp.html new file mode 100644 index 00000000..aa81ce9 --- /dev/null +++ b/API-html/_nex_hotspot_8cpp.html @@ -0,0 +1,74 @@ + + + + + + +API: NexHotspot.cpp File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexHotspot.cpp File Reference
+
+
+ +

API of NexHotspot. +More...

+
#include "NexHotspot.h"
+
+

Go to the source code of this file.

+

Detailed Description

+

API of NexHotspot.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexHotspot.cpp.

+
+ + + + diff --git a/API-html/_nex_hotspot_8cpp_source.html b/API-html/_nex_hotspot_8cpp_source.html new file mode 100644 index 00000000..9029768 --- /dev/null +++ b/API-html/_nex_hotspot_8cpp_source.html @@ -0,0 +1,96 @@ + + + + + + +API: NexHotspot.cpp Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexHotspot.cpp
+
+
+Go to the documentation of this file.
1 
+
16 #include "NexHotspot.h"
+
17 
+
22 NexHotspot::NexHotspot(NexPid pid, NexCid cid, char *name,
+
23  NexTouchEventCb pop, void *pop_ptr,
+
24  NexTouchEventCb push, void *push_ptr)
+
25  :NexTouch(pid, cid, name, pop, pop_ptr, push, push_ptr)
+
26 {
+
27 }
+
28 
+
35 void NexHotspot::attachPush(NexTouchEventCb push, void *ptr)
+
36 {
+
37  NexTouch::attachPush(push, ptr);
+
38 }
+
39 
+ +
45 {
+
46  NexTouch::detachPush();
+
47 }
+
48 
+
55 void NexHotspot::attachPop(NexTouchEventCb pop, void *ptr)
+
56 {
+
57  NexTouch::attachPop(pop, ptr);
+
58 }
+
59 
+ +
65 {
+
66  NexTouch::detachPop();
+
67 }
+
void detachPop(void)
Unload hotsopt pop callback function.
Definition: NexHotspot.cpp:64
+
void detachPush(void)
Unload hotsopt push callback function.
Definition: NexHotspot.cpp:44
+
NexHotspot(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexHotspot.cpp:22
+
API of NexHotspot.
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register hotspot pop callback function.
Definition: NexHotspot.cpp:55
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
void attachPush(NexTouchEventCb push, void *ptr=NULL)
Register hotspot push callback function.
Definition: NexHotspot.cpp:35
+
+ + + + diff --git a/API-html/_nex_hotspot_8h.html b/API-html/_nex_hotspot_8h.html new file mode 100644 index 00000000..6fbd4a1 --- /dev/null +++ b/API-html/_nex_hotspot_8h.html @@ -0,0 +1,83 @@ + + + + + + +API: NexHotspot.h File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexHotspot.h File Reference
+
+
+ +

API of NexHotspot. +More...

+
#include "NexTouch.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  NexHotspot
 NexHotspot,subclass of NexTouch,provides simple methods to control hotspot component. More...
 
+

Detailed Description

+

API of NexHotspot.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexHotspot.h.

+
+ + + + diff --git a/API-html/_nex_hotspot_8h_source.html b/API-html/_nex_hotspot_8h_source.html new file mode 100644 index 00000000..4eee5c5 --- /dev/null +++ b/API-html/_nex_hotspot_8h_source.html @@ -0,0 +1,90 @@ + + + + + + +API: NexHotspot.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexHotspot.h
+
+
+Go to the documentation of this file.
1 
+
16 #ifndef __NEXHOTSPOT_H__
+
17 #define __NEXHOTSPOT_H__
+
18 #ifdef __cplusplus
+
19 #include "NexTouch.h"
+
20 
+
25 class NexHotspot: public NexTouch
+
26 {
+
27 public: /* methods */
+
28  NexHotspot(NexPid pid, NexCid cid, char *name,
+
29  NexTouchEventCb pop = NULL, void *pop_ptr = NULL,
+
30  NexTouchEventCb push = NULL, void *push_ptr = NULL);
+
31 
+
32  void attachPush(NexTouchEventCb push, void *ptr = NULL);
+
33  void detachPush(void);
+
34  void attachPop(NexTouchEventCb pop, void *ptr = NULL);
+
35  void detachPop(void);
+
36 
+
37 };
+
38 
+
39 #endif /* #ifdef __cplusplus */
+
40 #endif /* #ifndef __NEXHOTSPOT_H__ */
+
void detachPop(void)
Unload hotsopt pop callback function.
Definition: NexHotspot.cpp:64
+
void detachPush(void)
Unload hotsopt push callback function.
Definition: NexHotspot.cpp:44
+
API of Nextion.
+
NexHotspot(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexHotspot.cpp:22
+
NexHotspot,subclass of NexTouch,provides simple methods to control hotspot component.
Definition: NexHotspot.h:25
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register hotspot pop callback function.
Definition: NexHotspot.cpp:55
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
void attachPush(NexTouchEventCb push, void *ptr=NULL)
Register hotspot push callback function.
Definition: NexHotspot.cpp:35
+
+ + + + diff --git a/API-html/_nex_page_8cpp.html b/API-html/_nex_page_8cpp.html new file mode 100644 index 00000000..91e6b60 --- /dev/null +++ b/API-html/_nex_page_8cpp.html @@ -0,0 +1,74 @@ + + + + + + +API: NexPage.cpp File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPage.cpp File Reference
+
+
+ +

API of NexPage. +More...

+
#include "NexPage.h"
+
+

Go to the source code of this file.

+

Detailed Description

+

API of NexPage.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexPage.cpp.

+
+ + + + diff --git a/API-html/_nex_page_8cpp_source.html b/API-html/_nex_page_8cpp_source.html new file mode 100644 index 00000000..93e1911 --- /dev/null +++ b/API-html/_nex_page_8cpp_source.html @@ -0,0 +1,102 @@ + + + + + + +API: NexPage.cpp Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPage.cpp
+
+
+Go to the documentation of this file.
1 
+
16 #include "NexPage.h"
+
17 
+
22 NexPage::NexPage(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop, void *pop_ptr)
+
23  :NexTouch(pid, cid, name, pop, pop_ptr)
+
24 {
+
25 }
+
26 
+
33 bool NexPage::show(void)
+
34 {
+
35  uint8_t buffer[4] = {0};
+
36 
+
37  const char *name = getObjName();
+
38  if (!name)
+
39  {
+
40  return false;
+
41  }
+
42 
+
43  String cmd = String("page ");
+
44  cmd += name;
+
45  sendCommand(cmd.c_str());
+
46  return recvRetCommandFinished();
+
47 }
+
48 
+
55 void NexPage::attachPop(NexTouchEventCb pop, void *ptr)
+
56 {
+
57  NexTouch::attachPop(pop, ptr);
+
58 }
+
59 
+ +
65 {
+
66  NexTouch::detachPop();
+
67 }
+
void detachPop(void)
Unload page pop callback function.
Definition: NexPage.cpp:64
+
bool show(void)
Change page.
Definition: NexPage.cpp:33
+
static void sendCommand(const char *cmd)
Send command to Nextion.
Definition: NexTouch.cpp:256
+
const char * getObjName(void)
Get component name.
Definition: NexTouch.cpp:107
+
API of NexPage.
+
NexPage(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexPage.cpp:22
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register page pop callback function.
Definition: NexPage.cpp:55
+
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
Definition: NexTouch.cpp:219
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_page_8h.html b/API-html/_nex_page_8h.html new file mode 100644 index 00000000..7dd37fa --- /dev/null +++ b/API-html/_nex_page_8h.html @@ -0,0 +1,83 @@ + + + + + + +API: NexPage.h File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexPage.h File Reference
+
+
+ +

API of NexPage. +More...

+
#include "NexTouch.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  NexPage
 NexPage,subclass of NexTouch,provides simple methods to control page component. More...
 
+

Detailed Description

+

API of NexPage.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexPage.h.

+
+ + + + diff --git a/API-html/_nex_page_8h_source.html b/API-html/_nex_page_8h_source.html new file mode 100644 index 00000000..a5c3791 --- /dev/null +++ b/API-html/_nex_page_8h_source.html @@ -0,0 +1,86 @@ + + + + + + +API: NexPage.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPage.h
+
+
+Go to the documentation of this file.
1 
+
16 #ifndef __NEXPAGE_H__
+
17 #define __NEXPAGE_H__
+
18 #ifdef __cplusplus
+
19 #include "NexTouch.h"
+
20 
+
25 class NexPage: public NexTouch
+
26 {
+
27 public: /* methods */
+
28  NexPage(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop = NULL, void *pop_ptr = NULL);
+
29  bool show(void);
+
30 
+
31  void attachPop(NexTouchEventCb pop, void *ptr = NULL);
+
32  void detachPop(void);
+
33 
+
34 };
+
35 
+
36 #endif /* #ifdef __cplusplus */
+
37 #endif /* #ifndef __NEXPAGE_H__ */
+
void detachPop(void)
Unload page pop callback function.
Definition: NexPage.cpp:64
+
bool show(void)
Change page.
Definition: NexPage.cpp:33
+
NexPage,subclass of NexTouch,provides simple methods to control page component.
Definition: NexPage.h:25
+
API of Nextion.
+
NexPage(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexPage.cpp:22
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register page pop callback function.
Definition: NexPage.cpp:55
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_picture_8cpp.html b/API-html/_nex_picture_8cpp.html new file mode 100644 index 00000000..9ad613e --- /dev/null +++ b/API-html/_nex_picture_8cpp.html @@ -0,0 +1,74 @@ + + + + + + +API: NexPicture.cpp File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPicture.cpp File Reference
+
+
+ +

API of NexPicture. +More...

+
#include "NexPicture.h"
+
+

Go to the source code of this file.

+

Detailed Description

+

API of NexPicture.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexPicture.cpp.

+
+ + + + diff --git a/API-html/_nex_picture_8cpp_source.html b/API-html/_nex_picture_8cpp_source.html new file mode 100644 index 00000000..29ead58 --- /dev/null +++ b/API-html/_nex_picture_8cpp_source.html @@ -0,0 +1,112 @@ + + + + + + +API: NexPicture.cpp Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPicture.cpp
+
+
+Go to the documentation of this file.
1 
+
16 #include "NexPicture.h"
+
17 
+
22 NexPicture::NexPicture(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop, void *pop_ptr)
+
23  :NexTouch(pid, cid, name, pop, pop_ptr)
+
24 {
+
25 }
+
26 
+
35 bool NexPicture::getPic(uint32_t *number)
+
36 {
+
37  String cmd = String("get ");
+
38  cmd += getObjName();
+
39  cmd += ".pic";
+
40  sendCommand(cmd.c_str());
+
41  return recvRetNumber(number);
+
42 }
+
43 
+
52 bool NexPicture::setPic(uint32_t number)
+
53 {
+
54  char buf[10] = {0};
+
55  String cmd;
+
56 
+
57  utoa(number, buf, 10);
+
58  cmd += getObjName();
+
59  cmd += ".pic=";
+
60  cmd += buf;
+
61 
+
62  sendCommand(cmd.c_str());
+
63  return recvRetCommandFinished();
+
64 }
+
65 
+
72 void NexPicture::attachPop(NexTouchEventCb pop, void *ptr)
+
73 {
+
74  NexTouch::attachPop(pop, ptr);
+
75 }
+
76 
+ +
82 {
+
83  NexTouch::detachPop();
+
84 }
+
85 
+
void detachPop(void)
Unload picture pop callback function.
Definition: NexPicture.cpp:81
+
bool setPic(uint32_t number)
Set picture's number.
Definition: NexPicture.cpp:52
+
NexPicture(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexPicture.cpp:22
+
static void sendCommand(const char *cmd)
Send command to Nextion.
Definition: NexTouch.cpp:256
+
const char * getObjName(void)
Get component name.
Definition: NexTouch.cpp:107
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register picture pop callback function.
Definition: NexPicture.cpp:72
+
static bool recvRetNumber(uint32_t *number, uint32_t timeout=500)
Receive uint32_t data.
Definition: NexTouch.cpp:351
+
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
Definition: NexTouch.cpp:219
+
bool getPic(uint32_t *number)
Get picture's number.
Definition: NexPicture.cpp:35
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
API of NexPicture.
+
+ + + + diff --git a/API-html/_nex_picture_8h.html b/API-html/_nex_picture_8h.html new file mode 100644 index 00000000..617132c --- /dev/null +++ b/API-html/_nex_picture_8h.html @@ -0,0 +1,83 @@ + + + + + + +API: NexPicture.h File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexPicture.h File Reference
+
+
+ +

API of NexPicture. +More...

+
#include "NexTouch.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  NexPicture
 NexPicture,subclass of NexTouch,provides simple methods to control picture component. More...
 
+

Detailed Description

+

API of NexPicture.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexPicture.h.

+
+ + + + diff --git a/API-html/_nex_picture_8h_source.html b/API-html/_nex_picture_8h_source.html new file mode 100644 index 00000000..812a027 --- /dev/null +++ b/API-html/_nex_picture_8h_source.html @@ -0,0 +1,88 @@ + + + + + + +API: NexPicture.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPicture.h
+
+
+Go to the documentation of this file.
1 
+
16 #ifndef __NEXPICTURE_H__
+
17 #define __NEXPICTURE_H__
+
18 #ifdef __cplusplus
+
19 #include "NexTouch.h"
+
20 
+
25 class NexPicture: public NexTouch
+
26 {
+
27 public: /* methods */
+
28  NexPicture(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop = NULL, void *pop_ptr = NULL);
+
29 
+
30  void attachPop(NexTouchEventCb pop, void *ptr = NULL);
+
31  void detachPop(void);
+
32 
+
33  bool getPic(uint32_t *number);
+
34  bool setPic(uint32_t number);
+
35 };
+
36 
+
37 #endif /* #ifdef __cplusplus */
+
38 #endif /* #ifndef __NEXPICTURE_H__ */
+
void detachPop(void)
Unload picture pop callback function.
Definition: NexPicture.cpp:81
+
bool setPic(uint32_t number)
Set picture's number.
Definition: NexPicture.cpp:52
+
NexPicture(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexPicture.cpp:22
+
NexPicture,subclass of NexTouch,provides simple methods to control picture component.
Definition: NexPicture.h:25
+
API of Nextion.
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register picture pop callback function.
Definition: NexPicture.cpp:72
+
bool getPic(uint32_t *number)
Get picture's number.
Definition: NexPicture.cpp:35
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_pointer_8cpp_source.html b/API-html/_nex_pointer_8cpp_source.html new file mode 100644 index 00000000..9223f24 --- /dev/null +++ b/API-html/_nex_pointer_8cpp_source.html @@ -0,0 +1,98 @@ + + + + + + +API: NexPointer.cpp Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPointer.cpp
+
+
+
1 #include "NexPointer.h"
+
2 
+
7 NexPointer::NexPointer(NexPid pid, NexCid cid, char *name)
+
8  :NexTouch(pid, cid, name)
+
9 {
+
10 }
+
11 
+
20 bool NexPointer::getValue(uint32_t *number)
+
21 {
+
22  String cmd = String("get ");
+
23  cmd += getObjName();
+
24  cmd += ".val";
+
25  sendCommand(cmd.c_str());
+
26  return recvRetNumber(number);
+
27 }
+
28 
+
37 bool NexPointer::setValue(uint32_t number)
+
38 {
+
39  char buf[10] = {0};
+
40  String cmd;
+
41 
+
42  utoa(number, buf, 10);
+
43  cmd += getObjName();
+
44  cmd += ".val=";
+
45  cmd += buf;
+
46 
+
47  sendCommand(cmd.c_str());
+
48  return recvRetCommandFinished();
+
49 }
+
50 
+
bool getValue(uint32_t *number)
Get the value of pointer.
Definition: NexPointer.cpp:20
+
static void sendCommand(const char *cmd)
Send command to Nextion.
Definition: NexTouch.cpp:256
+
const char * getObjName(void)
Get component name.
Definition: NexTouch.cpp:107
+
static bool recvRetNumber(uint32_t *number, uint32_t timeout=500)
Receive uint32_t data.
Definition: NexTouch.cpp:351
+
NexPointer(NexPid pid, NexCid cid, char *name)
Constructor,inherited NexTouch's constructor function.
Definition: NexPointer.cpp:7
+
bool setValue(uint32_t number)
Set the value of pointer.
Definition: NexPointer.cpp:37
+
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
Definition: NexTouch.cpp:219
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_pointer_8h_source.html b/API-html/_nex_pointer_8h_source.html new file mode 100644 index 00000000..f88fcf1 --- /dev/null +++ b/API-html/_nex_pointer_8h_source.html @@ -0,0 +1,82 @@ + + + + + + +API: NexPointer.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPointer.h
+
+
+
1 #ifndef __NEXPOINTER_H__
+
2 #define __NEXPOINTER_H__
+
3 #ifdef __cplusplus
+
4 #include "NexTouch.h"
+
5 
+
10 class NexPointer: public NexTouch
+
11 {
+
12 public: /* methods */
+
13  NexPointer(NexPid pid, NexCid cid, char *name);
+
14 
+
15  bool getValue(uint32_t *number);
+
16  bool setValue(uint32_t number);
+
17 };
+
18 
+
19 #endif /* #ifdef __cplusplus */
+
20 #endif /* #ifndef __NEXPOINTER_H__ */
+
bool getValue(uint32_t *number)
Get the value of pointer.
Definition: NexPointer.cpp:20
+
NexPointer,subclass of NexTouch,provides simple methods to control pointer component.
Definition: NexPointer.h:10
+
API of Nextion.
+
NexPointer(NexPid pid, NexCid cid, char *name)
Constructor,inherited NexTouch's constructor function.
Definition: NexPointer.cpp:7
+
bool setValue(uint32_t number)
Set the value of pointer.
Definition: NexPointer.cpp:37
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_progress_bar_8cpp.html b/API-html/_nex_progress_bar_8cpp.html new file mode 100644 index 00000000..9e305fb --- /dev/null +++ b/API-html/_nex_progress_bar_8cpp.html @@ -0,0 +1,74 @@ + + + + + + +API: NexProgressBar.cpp File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexProgressBar.cpp File Reference
+
+
+ +

API of NexProgressBar. +More...

+
#include "NexProgressBar.h"
+
+

Go to the source code of this file.

+

Detailed Description

+

API of NexProgressBar.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexProgressBar.cpp.

+
+ + + + diff --git a/API-html/_nex_progress_bar_8cpp_source.html b/API-html/_nex_progress_bar_8cpp_source.html new file mode 100644 index 00000000..91d12d8 --- /dev/null +++ b/API-html/_nex_progress_bar_8cpp_source.html @@ -0,0 +1,100 @@ + + + + + + +API: NexProgressBar.cpp Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexProgressBar.cpp
+
+
+Go to the documentation of this file.
1 
+
16 #include "NexProgressBar.h"
+
17 
+
22 NexProgressBar::NexProgressBar(NexPid pid, NexCid cid, char *name)
+
23  :NexTouch(pid, cid, name)
+
24 {
+
25 }
+
26 
+
35 bool NexProgressBar::getValue(uint32_t *number)
+
36 {
+
37  String cmd = String("get ");
+
38  cmd += getObjName();
+
39  cmd += ".val";
+
40  sendCommand(cmd.c_str());
+
41  return recvRetNumber(number);
+
42 }
+
43 
+
52 bool NexProgressBar::setValue(uint32_t number)
+
53 {
+
54  char buf[10] = {0};
+
55  String cmd;
+
56 
+
57  utoa(number, buf, 10);
+
58  cmd += getObjName();
+
59  cmd += ".val=";
+
60  cmd += buf;
+
61 
+
62  sendCommand(cmd.c_str());
+
63  return recvRetCommandFinished();
+
64 }
+
65 
+
bool setValue(uint32_t number)
Set the value of progress bar.
+
static void sendCommand(const char *cmd)
Send command to Nextion.
Definition: NexTouch.cpp:256
+
const char * getObjName(void)
Get component name.
Definition: NexTouch.cpp:107
+
bool getValue(uint32_t *number)
Get the value of progress bar.
+
static bool recvRetNumber(uint32_t *number, uint32_t timeout=500)
Receive uint32_t data.
Definition: NexTouch.cpp:351
+
NexProgressBar(NexPid pid, NexCid cid, char *name)
Constructor,inherited NexTouch's constructor function.
+
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
Definition: NexTouch.cpp:219
+
API of NexProgressBar.
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_progress_bar_8h.html b/API-html/_nex_progress_bar_8h.html new file mode 100644 index 00000000..cdd67e2 --- /dev/null +++ b/API-html/_nex_progress_bar_8h.html @@ -0,0 +1,83 @@ + + + + + + +API: NexProgressBar.h File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexProgressBar.h File Reference
+
+
+ +

API of NexProgressBar. +More...

+
#include "NexTouch.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  NexProgressBar
 NexProgressBar,subclass of NexTouch,provides simple methods to control progress bar component. More...
 
+

Detailed Description

+

API of NexProgressBar.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexProgressBar.h.

+
+ + + + diff --git a/API-html/_nex_progress_bar_8h_source.html b/API-html/_nex_progress_bar_8h_source.html new file mode 100644 index 00000000..5a940a6 --- /dev/null +++ b/API-html/_nex_progress_bar_8h_source.html @@ -0,0 +1,83 @@ + + + + + + +API: NexProgressBar.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexProgressBar.h
+
+
+Go to the documentation of this file.
1 
+
16 #ifndef __NEXPROGRESSBAR_H__
+
17 #define __NEXPROGRESSBAR_H__
+
18 #ifdef __cplusplus
+
19 #include "NexTouch.h"
+
20 
+
25 class NexProgressBar: public NexTouch
+
26 {
+
27 public: /* methods */
+
28  NexProgressBar(NexPid pid, NexCid cid, char *name);
+
29 
+
30  bool getValue(uint32_t *number);
+
31  bool setValue(uint32_t number);
+
32 };
+
33 
+
34 #endif /* #ifdef __cplusplus */
+
35 #endif /* #ifndef __NEXPROGRESSBAR_H__ */
+
bool setValue(uint32_t number)
Set the value of progress bar.
+
API of Nextion.
+
bool getValue(uint32_t *number)
Get the value of progress bar.
+
NexProgressBar(NexPid pid, NexCid cid, char *name)
Constructor,inherited NexTouch's constructor function.
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
NexProgressBar,subclass of NexTouch,provides simple methods to control progress bar component...
+
+ + + + diff --git a/API-html/_nex_serial_config_8h.html b/API-html/_nex_serial_config_8h.html new file mode 100644 index 00000000..c37766e --- /dev/null +++ b/API-html/_nex_serial_config_8h.html @@ -0,0 +1,73 @@ + + + + + + +API: NexSerialConfig.h File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexSerialConfig.h File Reference
+
+
+ +

Serial configure. +More...

+ +

Go to the source code of this file.

+

Detailed Description

+

Serial configure.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexSerialConfig.h.

+
+ + + + diff --git a/API-html/_nex_serial_config_8h_source.html b/API-html/_nex_serial_config_8h_source.html new file mode 100644 index 00000000..e3da563 --- /dev/null +++ b/API-html/_nex_serial_config_8h_source.html @@ -0,0 +1,84 @@ + + + + + + +API: NexSerialConfig.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexSerialConfig.h
+
+
+Go to the documentation of this file.
1 
+
16 #ifndef __NexSerialConfig_H__
+
17 #define __NexSerialConfig_H__
+
18 
+
19 /* enable debug serial */
+
20 #define DEBUG_SERIAL_ENABLE
+
21 
+
22 /* define serial for debug */
+
23 #define dbSerial Serial
+
24 
+
25 #ifdef DEBUG_SERIAL_ENABLE
+
26 #define dbSerialPrint(a) dbSerial.print(a)
+
27 #define dbSerialPrintln(a) dbSerial.println(a)
+
28 #define dbSerialBegin(a) dbSerial.begin(a)
+
29 #else
+
30 #define dbSerialPrint(a)
+
31 #define dbSerialPrintln(a)
+
32 #define dbSerialBegin(a)
+
33 #endif
+
34 
+
35 /* define serial for communicate with Nextion screen */
+
36 #define nexSerial Serial2
+
37 
+
38 #endif
+
+ + + + diff --git a/API-html/_nex_text_8cpp.html b/API-html/_nex_text_8cpp.html new file mode 100644 index 00000000..1574fa5 --- /dev/null +++ b/API-html/_nex_text_8cpp.html @@ -0,0 +1,74 @@ + + + + + + +API: NexText.cpp File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexText.cpp File Reference
+
+
+ +

API of NexText. +More...

+
#include "NexText.h"
+
+

Go to the source code of this file.

+

Detailed Description

+

API of NexText.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexText.cpp.

+
+ + + + diff --git a/API-html/_nex_text_8cpp_source.html b/API-html/_nex_text_8cpp_source.html new file mode 100644 index 00000000..29fbbea --- /dev/null +++ b/API-html/_nex_text_8cpp_source.html @@ -0,0 +1,110 @@ + + + + + + +API: NexText.cpp Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexText.cpp
+
+
+Go to the documentation of this file.
1 
+
16 #include "NexText.h"
+
17 
+
22 NexText::NexText(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop, void *pop_ptr)
+
23  :NexTouch(pid, cid, name, pop, pop_ptr)
+
24 {
+
25 }
+
26 
+
35 uint16_t NexText::getText(char *buffer, uint16_t len)
+
36 {
+
37  String cmd;
+
38  cmd += "get ";
+
39  cmd += getObjName();
+
40  cmd += ".txt";
+
41  sendCommand(cmd.c_str());
+
42  return recvRetString(buffer,len);
+
43 }
+
44 
+
53 bool NexText::setText(const char *buffer)
+
54 {
+
55  String cmd;
+
56  cmd += getObjName();
+
57  cmd += ".txt=\"";
+
58  cmd += buffer;
+
59  cmd += "\"";
+
60  sendCommand(cmd.c_str());
+
61  return recvRetCommandFinished();
+
62 }
+
63 
+
70 void NexText::attachPop(NexTouchEventCb pop, void *ptr)
+
71 {
+
72  NexTouch::attachPop(pop, ptr);
+
73 }
+
74 
+ +
80 {
+
81  NexTouch::detachPop();
+
82 }
+
83 
+
bool setText(const char *buffer)
Set the value of text.
Definition: NexText.cpp:53
+
void detachPop(void)
Unload text pop callback function.
Definition: NexText.cpp:79
+
API of NexText.
+
static void sendCommand(const char *cmd)
Send command to Nextion.
Definition: NexTouch.cpp:256
+
const char * getObjName(void)
Get component name.
Definition: NexTouch.cpp:107
+
uint16_t getText(char *buffer, uint16_t len)
Get the value of text.
Definition: NexText.cpp:35
+
NexText(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexText.cpp:22
+
static uint16_t recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)
Receive string data.
Definition: NexTouch.cpp:279
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register text pop callback function.
Definition: NexText.cpp:70
+
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
Definition: NexTouch.cpp:219
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/_nex_text_8h.html b/API-html/_nex_text_8h.html new file mode 100644 index 00000000..27c8aef --- /dev/null +++ b/API-html/_nex_text_8h.html @@ -0,0 +1,83 @@ + + + + + + +API: NexText.h File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexText.h File Reference
+
+
+ +

API of NexText. +More...

+
#include "NexTouch.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  NexText
 NexText,subclass of NexTouch,provides simple methods to control text component. More...
 
+

Detailed Description

+

API of NexText.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexText.h.

+
+ + + + diff --git a/API-html/_nex_text_8h_source.html b/API-html/_nex_text_8h_source.html new file mode 100644 index 00000000..d67db7c --- /dev/null +++ b/API-html/_nex_text_8h_source.html @@ -0,0 +1,88 @@ + + + + + + +API: NexText.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexText.h
+
+
+Go to the documentation of this file.
1 
+
16 #ifndef __NEXTEXT_H__
+
17 #define __NEXTEXT_H__
+
18 #ifdef __cplusplus
+
19 #include "NexTouch.h"
+
20 
+
25 class NexText: public NexTouch
+
26 {
+
27 public: /* methods */
+
28  NexText(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop = NULL, void *pop_ptr = NULL);
+
29 
+
30  void attachPop(NexTouchEventCb pop, void *ptr = NULL);
+
31  void detachPop(void);
+
32 
+
33  uint16_t getText(char *buffer, uint16_t len);
+
34  bool setText(const char *buffer);
+
35 };
+
36 
+
37 #endif /* #ifdef __cplusplus */
+
38 #endif /* #ifndef __NEXTEXT_H__ */
+
bool setText(const char *buffer)
Set the value of text.
Definition: NexText.cpp:53
+
void detachPop(void)
Unload text pop callback function.
Definition: NexText.cpp:79
+
uint16_t getText(char *buffer, uint16_t len)
Get the value of text.
Definition: NexText.cpp:35
+
API of Nextion.
+
NexText(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
Constructor,inherited NexTouch's constructor function.
Definition: NexText.cpp:22
+
void attachPop(NexTouchEventCb pop, void *ptr=NULL)
Register text pop callback function.
Definition: NexText.cpp:70
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
NexText,subclass of NexTouch,provides simple methods to control text component.
Definition: NexText.h:25
+
+ + + + diff --git a/API-html/_nex_touch_8cpp.html b/API-html/_nex_touch_8cpp.html new file mode 100644 index 00000000..b737a76 --- /dev/null +++ b/API-html/_nex_touch_8cpp.html @@ -0,0 +1,484 @@ + + + + + + +API: NexTouch.cpp File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexTouch.cpp File Reference
+
+
+ +

API of Nextion. +More...

+
#include "NexTouch.h"
+
+

Go to the source code of this file.

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

+Functions

bool nexInit (void)
 Init Nextion's baudrate,page id. More...
 
bool nexLoop (NexTouch **nex_listen_list)
 Call mainEventLoop,watting for Nextion's touch event. More...
 
bool sendCurrentPageId (uint8_t *pageId)
 Return current page id. More...
 
bool touchCalibration (void)
 Touch screen calibration. More...
 
bool disableTouchFocus (void)
 Disable all touch hot. More...
 
bool pauseSerialCommand (void)
 Pause serial instruction execution. More...
 
bool recoverySerialCommand (void)
 Recovery serial instruction execution. More...
 
bool setCurrentBrightness (uint8_t dimValue)
 Set current backlight brightness value. More...
 
bool setDefaultBrightness (uint8_t dimDefaultValue)
 Set default backlight brightness value. More...
 
bool sleepMode (uint8_t mode)
 Set device in sleep mode. More...
 
bool setCurrentBaudrate (uint32_t baudrate)
 Set current baudrate. More...
 
bool setDefaultBaudrate (uint32_t defaultBaudrate)
 Set default baudrate. More...
 
+

Detailed Description

+

API of Nextion.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexTouch.cpp.

+

Function Documentation

+ +
+
+ + + + + + + + +
bool disableTouchFocus (void )
+
+ +

Disable all touch hot.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 508 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool nexInit (void )
+
+ +

Init Nextion's baudrate,page id.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompButton.ino, CompCrop.ino, CompHotspot.ino, CompPage.ino, CompPicture.ino, CompPointer.ino, CompProgressBar.ino, and CompText.ino.
+
+

Definition at line 404 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool nexLoop (NexTouch ** nex_listen_list)
+
+ +

Call mainEventLoop,watting for Nextion's touch event.

+
Parameters
+ + +
nex_listen_list- index to Nextion Components list.
+
+
+
Return values
+ + +
false- failed.
+
+
+
Examples:
CompButton.ino, CompCrop.ino, CompHotspot.ino, CompPage.ino, CompPicture.ino, CompPointer.ino, CompProgressBar.ino, and CompText.ino.
+
+

Definition at line 420 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool pauseSerialCommand (void )
+
+ +

Pause serial instruction execution.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 532 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool recoverySerialCommand (void )
+
+ +

Recovery serial instruction execution.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 557 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool sendCurrentPageId (uint8_t * pageId)
+
+ +

Return current page id.

+
Parameters
+ + +
pageId- output parameter,to save page id.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 434 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool setCurrentBaudrate (uint32_t baudrate)
+
+ +

Set current baudrate.

+
Parameters
+ + +
baudrate- current baudrate,it supports 2400,4800,9600,19200,38400,57600,115200.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 689 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool setCurrentBrightness (uint8_t dimValue)
+
+ +

Set current backlight brightness value.

+
Parameters
+ + +
dimValue- current backlight brightness value.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 583 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool setDefaultBaudrate (uint32_t defaultBaudrate)
+
+ +

Set default baudrate.

+
Parameters
+ + +
defaultBaudrate- default baudrate,it supports 2400,4800,9600,19200,38400,57600,115200.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 721 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool setDefaultBrightness (uint8_t dimDefaultValue)
+
+ +

Set default backlight brightness value.

+
Parameters
+ + +
dimDefaultValue- default backlight brightness value.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 618 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool sleepMode (uint8_t mode)
+
+ +

Set device in sleep mode.

+
Parameters
+ + +
mode- 1:into sleep mode,0:exit sleep mode.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 652 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool touchCalibration (void )
+
+ +

Touch screen calibration.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 484 of file NexTouch.cpp.

+ +
+
+
+ + + + diff --git a/API-html/_nex_touch_8cpp_source.html b/API-html/_nex_touch_8cpp_source.html new file mode 100644 index 00000000..f1e098a --- /dev/null +++ b/API-html/_nex_touch_8cpp_source.html @@ -0,0 +1,677 @@ + + + + + + +API: NexTouch.cpp Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexTouch.cpp
+
+
+Go to the documentation of this file.
1 
+
16 #include "NexTouch.h"
+
17 
+
18 uint8_t NexTouch::__buffer[256] = {0};
+
19 
+ +
27 {
+
28  uint16_t i;
+
29  uint8_t c;
+
30  while (nexSerial.available() > 0)
+
31  {
+
32  delay(10);
+
33  c = nexSerial.read();
+
34 
+
35  if (NEX_RET_EVENT_TOUCH_HEAD == c)
+
36  {
+
37  if (nexSerial.available() >= 6)
+
38  {
+
39  __buffer[0] = c;
+
40  for (i = 1; i < 7; i++)
+
41  {
+
42  __buffer[i] = nexSerial.read();
+
43  }
+
44  __buffer[i] = 0x00;
+
45 
+
46  if (0xFF == __buffer[4] && 0xFF == __buffer[5] && 0xFF == __buffer[6])
+
47  {
+
48  iterate(list, (NexPid)__buffer[1], (NexCid)__buffer[2], (NexEventType)__buffer[3]);
+
49  }
+
50 
+
51  }
+
52  }
+
53  }
+
54  return 0;
+
55 }
+
56 
+
69 NexTouch::NexTouch(NexPid pid, NexCid cid, char *name,
+
70  NexTouchEventCb pop, void *pop_ptr,
+
71  NexTouchEventCb push, void *push_ptr)
+
72 {
+
73  this->pid = pid;
+
74  this->cid = cid;
+
75  this->name = name;
+
76  this->cbPush = push;
+
77  this->cbPop = pop;
+
78  this->__cbpop_ptr = pop_ptr;
+
79  this->__cbpush_ptr = push_ptr;
+
80 }
+
81 
+
87 NexPid NexTouch::getPid(void)
+
88 {
+
89  return pid;
+
90 }
+
91 
+
97 NexCid NexTouch::getCid(void)
+
98 {
+
99  return cid;
+
100 }
+
101 
+
107 const char* NexTouch::getObjName(void)
+
108 {
+
109  return name;
+
110 }
+
111 
+
117 void NexTouch::print(void)
+
118 {
+
119  dbSerialPrint("[");
+
120  dbSerialPrint((uint32_t)this);
+
121  dbSerialPrint(":");
+
122  dbSerialPrint(pid);
+
123  dbSerialPrint(",");
+
124  dbSerialPrint(cid);
+
125  dbSerialPrint(",");
+
126  if (name)
+
127  {
+
128  dbSerialPrint(name);
+
129  }
+
130  else
+
131  {
+
132  dbSerialPrint("(null)");
+
133  }
+
134  dbSerialPrint(",");
+
135  dbSerialPrint((uint32_t)cbPush);
+
136  dbSerialPrint(",");
+
137  dbSerialPrint((uint32_t)cbPop);
+
138  dbSerialPrintln("]");
+
139 }
+
140 
+
141 void NexTouch::attachPush(NexTouchEventCb push, void *ptr)
+
142 {
+
143  this->cbPush = push;
+
144  this->__cbpush_ptr = ptr;
+
145 }
+
146 
+
147 void NexTouch::detachPush(void)
+
148 {
+
149  this->cbPush = NULL;
+
150  this->__cbpush_ptr = NULL;
+
151 }
+
152 
+
153 void NexTouch::attachPop(NexTouchEventCb pop, void *ptr)
+
154 {
+
155  this->cbPop = pop;
+
156  this->__cbpop_ptr = ptr;
+
157 }
+
158 
+
159 void NexTouch::detachPop(void)
+
160 {
+
161  this->cbPop = NULL;
+
162  this->__cbpop_ptr = NULL;
+
163 }
+
164 
+
165 void NexTouch::iterate(NexTouch **list, NexPid pid, NexCid cid, NexEventType event)
+
166 {
+
167  NexTouch *e = NULL;
+
168  uint16_t i = 0;
+
169 
+
170  if (NULL == list)
+
171  {
+
172  return;
+
173  }
+
174 
+
175  for(i = 0; (e = list[i]) != NULL; i++)
+
176  {
+
177  if (e->getPid() == pid && e->getCid() == cid)
+
178  {
+
179  e->print();
+
180  if (NEX_EVENT_PUSH == event)
+
181  {
+
182  e->push();
+
183  }
+
184  else if (NEX_EVENT_POP == event)
+
185  {
+
186  e->pop();
+
187  }
+
188 
+
189  break;
+
190  }
+
191  }
+
192 }
+
193 
+
194 void NexTouch::push(void)
+
195 {
+
196  if (cbPush)
+
197  {
+
198  cbPush(__cbpush_ptr);
+
199  }
+
200 }
+
201 
+
202 void NexTouch::pop(void)
+
203 {
+
204  if (cbPop)
+
205  {
+
206  cbPop(__cbpop_ptr);
+
207  }
+
208 }
+
209 
+
219 bool NexTouch::recvRetCommandFinished(uint32_t timeout)
+
220 {
+
221  bool ret = false;
+
222  uint8_t temp[4] = {0};
+
223 
+
224  nexSerial.setTimeout(timeout);
+
225  if (sizeof(temp) != nexSerial.readBytes((char *)temp, sizeof(temp)))
+
226  {
+
227  ret = false;
+
228  }
+
229 
+
230  if (temp[0] == NEX_RET_CMD_FINISHED
+
231  && temp[1] == 0xFF
+
232  && temp[2] == 0xFF
+
233  && temp[3] == 0xFF
+
234  )
+
235  {
+
236  ret = true;
+
237  }
+
238 
+
239  if (ret)
+
240  {
+
241  dbSerialPrintln("recvRetCommandFinished ok");
+
242  }
+
243  else
+
244  {
+
245  dbSerialPrintln("recvRetCommandFinished err");
+
246  }
+
247 
+
248  return ret;
+
249 }
+
250 
+
256 void NexTouch::sendCommand(const char* cmd)
+
257 {
+
258  while (nexSerial.available())
+
259  {
+
260  nexSerial.read();
+
261  }
+
262 
+
263  nexSerial.print(cmd);
+
264  nexSerial.write(0xFF);
+
265  nexSerial.write(0xFF);
+
266  nexSerial.write(0xFF);
+
267 }
+
268 
+
279 uint16_t NexTouch::recvRetString(char *buffer, uint16_t len, uint32_t timeout)
+
280 {
+
281  uint16_t ret = 0;
+
282  bool str_start_flag = false;
+
283  uint8_t cnt_0xff = 0;
+
284  String temp = String("");
+
285  uint8_t c = 0;
+
286  long start;
+
287 
+
288  if (!buffer || len == 0)
+
289  {
+
290  goto __return;
+
291  }
+
292 
+
293  start = millis();
+
294  while (millis() - start <= timeout)
+
295  {
+
296  while (nexSerial.available())
+
297  {
+
298  c = nexSerial.read();
+
299  if (str_start_flag)
+
300  {
+
301  if (0xFF == c)
+
302  {
+
303  cnt_0xff++;
+
304  if (cnt_0xff >= 3)
+
305  {
+
306  break;
+
307  }
+
308  }
+
309  else
+
310  {
+
311  temp += (char)c;
+
312  }
+
313  }
+
314  else if (NEX_RET_STRING_HEAD == c)
+
315  {
+
316  str_start_flag = true;
+
317  }
+
318  }
+
319 
+
320  if (cnt_0xff >= 3)
+
321  {
+
322  break;
+
323  }
+
324  }
+
325 
+
326  ret = temp.length();
+
327  ret = ret > len ? len : ret;
+
328  strncpy(buffer, temp.c_str(), ret);
+
329 
+
330 __return:
+
331 
+
332  dbSerialPrint("recvRetString[");
+
333  dbSerialPrint(temp.length());
+
334  dbSerialPrint(",");
+
335  dbSerialPrint(temp);
+
336  dbSerialPrintln("]");
+
337 
+
338  return ret;
+
339 }
+
340 
+
351 bool NexTouch::recvRetNumber(uint32_t *number, uint32_t timeout)
+
352 {
+
353  bool ret = false;
+
354  uint8_t temp[8] = {0};
+
355 
+
356  if (!number)
+
357  {
+
358  goto __return;
+
359  }
+
360 
+
361  nexSerial.setTimeout(timeout);
+
362  if (sizeof(temp) != nexSerial.readBytes((char *)temp, sizeof(temp)))
+
363  {
+
364  goto __return;
+
365  }
+
366 
+
367  if (temp[0] == NEX_RET_NUMBER_HEAD
+
368  && temp[5] == 0xFF
+
369  && temp[6] == 0xFF
+
370  && temp[7] == 0xFF
+
371  )
+
372  {
+
373  *number = (temp[4] << 24) | (temp[3] << 16) | (temp[2] << 8) | (temp[1]);
+
374  ret = true;
+
375  }
+
376 
+
377 __return:
+
378 
+
379  if (ret)
+
380  {
+
381  dbSerialPrint("recvRetNumber :");
+
382  dbSerialPrintln(*number);
+
383  }
+
384  else
+
385  {
+
386  dbSerialPrintln("recvRetNumber err");
+
387  }
+
388 
+
389  return ret;
+
390 }
+
391 
+
392 bool NexTouch::getBrightness(uint32_t *brightness)
+
393 {
+
394  sendCommand("get dim");
+
395  return recvRetNumber(brightness);
+
396 }
+
397 
+
404 bool nexInit(void)
+
405 {
+
406  nexSerial.begin(9600);
+ +
408  NexTouch::sendCommand("page 0");
+
409  delay(100);
+
410  return true;
+
411 }
+
412 
+
420 bool nexLoop(NexTouch **nex_listen_list)
+
421 {
+
422  NexTouch::mainEventLoop(nex_listen_list);
+
423  return false;
+
424 }
+
425 
+
434 bool sendCurrentPageId(uint8_t* pageId)
+
435 {
+
436 
+
437  bool ret = false;
+
438  uint8_t temp[5] = {0};
+
439 
+
440  if (!pageId)
+
441  {
+
442  goto __return;
+
443  }
+
444  NexTouch::sendCommand("sendme");
+
445  delay(50);
+
446  nexSerial.setTimeout(500);
+
447  if (sizeof(temp) != nexSerial.readBytes((char *)temp, sizeof(temp)))
+
448  {
+
449  goto __return;
+
450  }
+
451 
+
452  if (temp[0] == NEX_RET_CURRENT_PAGE_ID_HEAD
+
453  && temp[2] == 0xFF
+
454  && temp[3] == 0xFF
+
455  && temp[4] == 0xFF
+
456  )
+
457  {
+
458  *pageId = temp[1];
+
459  ret = true;
+
460  }
+
461 
+
462  __return:
+
463 
+
464  if (ret)
+
465  {
+
466  dbSerialPrint("recvPageId :");
+
467  dbSerialPrintln(*pageId);
+
468  }
+
469  else
+
470  {
+
471  dbSerialPrintln("recvPageId err");
+
472  }
+
473 
+
474  return ret;
+
475 
+
476 }
+
477 
+ +
485 {
+
486  bool ret = false;
+
487  NexTouch::sendCommand("touch_j");
+
488  delay(10);
+ +
490  {
+
491  dbSerialPrintln("TouchCalibration ok ");
+
492  ret = true;
+
493  }
+
494  else
+
495  {
+
496  dbSerialPrintln("TouchCalibration err ");
+
497  }
+
498 
+
499  return ret;
+
500 }
+
501 
+ +
509 {
+
510  bool ret = false;
+
511  NexTouch::sendCommand("cle_c");
+
512  delay(10);
+ +
514  {
+
515  dbSerialPrintln("disableTouchFocus ok ");
+
516  ret = true;
+
517  }
+
518  else
+
519  {
+
520  dbSerialPrintln("disableTouchFocus err ");
+
521  }
+
522 
+
523  return ret;
+
524 }
+
525 
+ +
533 {
+
534 
+
535  bool ret = false;
+
536  NexTouch::sendCommand("com_stop");
+
537  delay(10);
+ +
539  {
+
540  dbSerialPrintln("pauseSerialCommand ok ");
+
541  ret = true;
+
542  }
+
543  else
+
544  {
+
545  dbSerialPrintln("pauseSerialCommand err ");
+
546  }
+
547 
+
548  return ret;
+
549 }
+
550 
+ +
558 {
+
559  bool ret = false;
+
560  NexTouch::sendCommand("com_star");
+
561  delay(10);
+ +
563  {
+
564  dbSerialPrintln("recoverySerialCommand ok ");
+
565  ret = true;
+
566  }
+
567  else
+
568  {
+
569  dbSerialPrintln("recoverySerialCommand err ");
+
570  }
+
571 
+
572  return ret;
+
573 }
+
574 
+
583 bool setCurrentBrightness(uint8_t dimValue)
+
584 {
+
585  bool ret = false;
+
586  char buf[10] = {0};
+
587  String cmd;
+
588  utoa(dimValue, buf, 10);
+
589  cmd += "dim=";
+
590  cmd += buf;
+
591  NexTouch::sendCommand(cmd.c_str());
+
592  delay(10);
+
593 
+ +
595  {
+
596  dbSerialPrint("setCurrentBrightness[ ");
+
597  dbSerialPrint(dimValue);
+
598  dbSerialPrintln("]ok ");
+
599 
+
600  ret = true;
+
601  }
+
602  else
+
603  {
+
604  dbSerialPrintln("setCurrentBrightness err ");
+
605  }
+
606 
+
607  return ret;
+
608 }
+
609 
+
618 bool setDefaultBrightness(uint8_t dimDefaultValue)
+
619 {
+
620  bool ret = false;
+
621  char buf[10] = {0};
+
622  String cmd;
+
623  utoa(dimDefaultValue, buf, 10);
+
624  cmd += "dims=";
+
625  cmd += buf;
+
626  NexTouch::sendCommand(cmd.c_str());
+
627  delay(10);
+
628 
+ +
630  {
+
631  dbSerialPrint("setDefaultBrightness[");
+
632  dbSerialPrint(dimDefaultValue);
+
633  dbSerialPrintln("]ok");
+
634  ret = true;
+
635  }
+
636  else
+
637  {
+
638  dbSerialPrintln("setDefaultBrightness err ");
+
639  }
+
640 
+
641  return ret;
+
642 }
+
643 
+
652 bool sleepMode(uint8_t mode)
+
653 {
+
654  bool ret = false;
+
655  char buf[10] = {0};
+
656  String cmd;
+
657  if(mode != 0 && mode != 1)
+
658  {
+
659  dbSerialPrintln("mode input ok ");
+
660  return ret;
+
661  }
+
662  utoa(mode, buf, 10);
+
663  cmd += "sleep=";
+
664  cmd += buf;
+
665  NexTouch::sendCommand(cmd.c_str());
+
666  delay(10);
+
667 
+ +
669  {
+
670  dbSerialPrintln("sleepMode ok ");
+
671  ret = true;
+
672  }
+
673  else
+
674  {
+
675  dbSerialPrintln("sleepMode err ");
+
676  }
+
677 
+
678  return ret;
+
679 }
+
680 
+
689 bool setCurrentBaudrate(uint32_t baudrate)
+
690 {
+
691  bool ret = false;
+
692  char buf[10] = {0};
+
693  String cmd;
+
694  utoa(baudrate, buf, 10);
+
695  cmd += "baud=";
+
696  cmd += buf;
+
697  NexTouch::sendCommand(cmd.c_str());
+
698  delay(10);
+
699 
+ +
701  {
+
702  dbSerialPrintln("setCurrentBaudrate ok ");
+
703  ret = true;
+
704  }
+
705  else
+
706  {
+
707  dbSerialPrintln("setCurrentBaudrate err ");
+
708  }
+
709 
+
710  return ret;
+
711 }
+
712 
+
721 bool setDefaultBaudrate(uint32_t defaultBaudrate)
+
722 {
+
723  bool ret = false;
+
724  char buf[10] = {0};
+
725  String cmd;
+
726  utoa(defaultBaudrate, buf, 10);
+
727  cmd += "bauds=";
+
728  cmd += buf;
+
729  NexTouch::sendCommand(cmd.c_str());
+
730  delay(10);
+
731 
+ +
733  {
+
734  dbSerialPrintln("setDefaultBaudrate ok ");
+
735  ret = true;
+
736  }
+
737  else
+
738  {
+
739  dbSerialPrintln("setDefaultBaudrate err ");
+
740  }
+
741 
+
742  return ret;
+
743 }
+
744 
+
745 
+
746 
+
747 
+
748 
+
749 
+
750 
+
751 
+
752 
+
753 
+
754 
+
755 
+
756 
+
757 
+
758 
+
759 
+
760 
+
761 
+
762 
+
763 
+
764 
+
NexPid getPid(void)
Get page id.
Definition: NexTouch.cpp:87
+
bool setDefaultBaudrate(uint32_t defaultBaudrate)
Set default baudrate.
Definition: NexTouch.cpp:721
+
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
Constructor of Nextouch.
Definition: NexTouch.cpp:69
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
static void sendCommand(const char *cmd)
Send command to Nextion.
Definition: NexTouch.cpp:256
+
const char * getObjName(void)
Get component name.
Definition: NexTouch.cpp:107
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
void print(void)
Print current object address,page id,component id, component name,pop event function address...
Definition: NexTouch.cpp:117
+
static uint8_t mainEventLoop(NexTouch **list)
Watting for Nextion's touch event.
Definition: NexTouch.cpp:26
+
bool disableTouchFocus(void)
Disable all touch hot.
Definition: NexTouch.cpp:508
+
NexCid getCid(void)
Get component id.
Definition: NexTouch.cpp:97
+
bool setDefaultBrightness(uint8_t dimDefaultValue)
Set default backlight brightness value.
Definition: NexTouch.cpp:618
+
bool sendCurrentPageId(uint8_t *pageId)
Return current page id.
Definition: NexTouch.cpp:434
+
API of Nextion.
+
bool recoverySerialCommand(void)
Recovery serial instruction execution.
Definition: NexTouch.cpp:557
+
bool sleepMode(uint8_t mode)
Set device in sleep mode.
Definition: NexTouch.cpp:652
+
bool setCurrentBaudrate(uint32_t baudrate)
Set current baudrate.
Definition: NexTouch.cpp:689
+
bool pauseSerialCommand(void)
Pause serial instruction execution.
Definition: NexTouch.cpp:532
+
static bool recvRetNumber(uint32_t *number, uint32_t timeout=500)
Receive uint32_t data.
Definition: NexTouch.cpp:351
+
static uint16_t recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)
Receive string data.
Definition: NexTouch.cpp:279
+
bool setCurrentBrightness(uint8_t dimValue)
Set current backlight brightness value.
Definition: NexTouch.cpp:583
+
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
Definition: NexTouch.cpp:219
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
bool touchCalibration(void)
Touch screen calibration.
Definition: NexTouch.cpp:484
+
+ + + + diff --git a/API-html/_nex_touch_8h.html b/API-html/_nex_touch_8h.html new file mode 100644 index 00000000..bcd9392 --- /dev/null +++ b/API-html/_nex_touch_8h.html @@ -0,0 +1,490 @@ + + + + + + +API: NexTouch.h File Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexTouch.h File Reference
+
+
+ +

API of Nextion. +More...

+
#include <Arduino.h>
+#include "NexSerialConfig.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  NexTouch
 Root Class of Nextion Components. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

bool nexInit (void)
 Init Nextion's baudrate,page id. More...
 
bool nexLoop (NexTouch **nex_listen_list)
 Call mainEventLoop,watting for Nextion's touch event. More...
 
bool sendCurrentPageId (uint8_t *pageId)
 Return current page id. More...
 
bool touchCalibration (void)
 Touch screen calibration. More...
 
bool disableTouchFocus (void)
 Disable all touch hot. More...
 
bool pauseSerialCommand (void)
 Pause serial instruction execution. More...
 
bool recoverySerialCommand (void)
 Recovery serial instruction execution. More...
 
bool setCurrentBrightness (uint8_t dimValue)
 Set current backlight brightness value. More...
 
bool setDefaultBrightness (uint8_t dimDefaultValue)
 Set default backlight brightness value. More...
 
bool sleepMode (uint8_t mode)
 Set device in sleep mode. More...
 
bool setCurrentBaudrate (uint32_t baudrate)
 Set current baudrate. More...
 
bool setDefaultBaudrate (uint32_t baudrate)
 Set default baudrate. More...
 
+

Detailed Description

+

API of Nextion.

+
Author
Wu Pengfei (email:pengf.nosp@m.ei.w.nosp@m.u@ite.nosp@m.ad.c.nosp@m.c)
+
Date
2015/7/10
+ + +

Definition in file NexTouch.h.

+

Function Documentation

+ +
+
+ + + + + + + + +
bool disableTouchFocus (void )
+
+ +

Disable all touch hot.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 508 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool nexInit (void )
+
+ +

Init Nextion's baudrate,page id.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 404 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool nexLoop (NexTouch ** nex_listen_list)
+
+ +

Call mainEventLoop,watting for Nextion's touch event.

+
Parameters
+ + +
nex_listen_list- index to Nextion Components list.
+
+
+
Return values
+ + +
false- failed.
+
+
+ +

Definition at line 420 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool pauseSerialCommand (void )
+
+ +

Pause serial instruction execution.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 532 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool recoverySerialCommand (void )
+
+ +

Recovery serial instruction execution.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 557 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool sendCurrentPageId (uint8_t * pageId)
+
+ +

Return current page id.

+
Parameters
+ + +
pageId- output parameter,to save page id.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 434 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool setCurrentBaudrate (uint32_t baudrate)
+
+ +

Set current baudrate.

+
Parameters
+ + +
baudrate- current baudrate,it supports 2400,4800,9600,19200,38400,57600,115200.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 689 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool setCurrentBrightness (uint8_t dimValue)
+
+ +

Set current backlight brightness value.

+
Parameters
+ + +
dimValue- current backlight brightness value.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 583 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool setDefaultBaudrate (uint32_t defaultBaudrate)
+
+ +

Set default baudrate.

+
Parameters
+ + +
defaultBaudrate- default baudrate,it supports 2400,4800,9600,19200,38400,57600,115200.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 721 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool setDefaultBrightness (uint8_t dimDefaultValue)
+
+ +

Set default backlight brightness value.

+
Parameters
+ + +
dimDefaultValue- default backlight brightness value.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 618 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool sleepMode (uint8_t mode)
+
+ +

Set device in sleep mode.

+
Parameters
+ + +
mode- 1:into sleep mode,0:exit sleep mode.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 652 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool touchCalibration (void )
+
+ +

Touch screen calibration.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 484 of file NexTouch.cpp.

+ +
+
+
+ + + + diff --git a/API-html/_nex_touch_8h_source.html b/API-html/_nex_touch_8h_source.html new file mode 100644 index 00000000..bcc7e67 --- /dev/null +++ b/API-html/_nex_touch_8h_source.html @@ -0,0 +1,187 @@ + + + + + + +API: NexTouch.h Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexTouch.h
+
+
+Go to the documentation of this file.
1 
+
16 #ifndef __NEXTOUCH_H__
+
17 #define __NEXTOUCH_H__
+
18 #ifdef __cplusplus
+
19 #include <Arduino.h>
+
20 #include "NexSerialConfig.h"
+
21 
+
22 typedef uint8_t NexPid;
+
23 typedef uint8_t NexCid;
+
24 
+
25 typedef enum {
+
26  NEX_EVENT_POP = 0x00,
+
27  NEX_EVENT_PUSH = 0x01,
+
28  NEX_EVENT_NULL
+
29 } NexEventType;
+
30 
+
31 /*The first byte of Nextoin's return value*/
+
32 #define NEX_RET_CMD_FINISHED (0x01)
+
33 #define NEX_RET_EVENT_LAUNCHED (0x88)
+
34 #define NEX_RET_EVENT_UPGRADED (0x89)
+
35 #define NEX_RET_EVENT_TOUCH_HEAD (0x65)
+
36 #define NEX_RET_EVENT_POSITION_HEAD (0x67)
+
37 #define NEX_RET_EVENT_SLEEP_POSITION_HEAD (0x68)
+
38 #define NEX_RET_CURRENT_PAGE_ID_HEAD (0x66)
+
39 #define NEX_RET_STRING_HEAD (0x70)
+
40 #define NEX_RET_NUMBER_HEAD (0x71)
+
41 #define NEX_RET_INVALID_CMD (0x00)
+
42 #define NEX_RET_INVALID_COMPONENT_ID (0x02)
+
43 #define NEX_RET_INVALID_PAGE_ID (0x03)
+
44 #define NEX_RET_INVALID_PICTURE_ID (0x04)
+
45 #define NEX_RET_INVALID_FONT_ID (0x05)
+
46 #define NEX_RET_INVALID_BAUD (0x11)
+
47 #define NEX_RET_INVALID_VARIABLE (0x1A)
+
48 #define NEX_RET_INVALID_OPERATION (0x1B)
+
49 
+
50 
+
51 typedef void (*NexTouchEventCb)(void *ptr);
+
52 
+
57 class NexTouch
+
58 {
+
59 public: /* static methods */
+
60  static uint8_t mainEventLoop(NexTouch **list);
+
61  static void sendCommand(const char *cmd);
+
62  static bool recvRetCommandFinished(uint32_t timeout = 100);
+
63  static uint16_t recvRetString(char *buffer, uint16_t len, uint32_t timeout = 500);
+
64  static bool recvRetNumber(uint32_t *number, uint32_t timeout = 500);
+
65 
+
66 public: /* methods */
+
67  NexTouch(NexPid pid, NexCid cid, char *name,
+
68  NexTouchEventCb pop = NULL, void *pop_ptr = NULL,
+
69  NexTouchEventCb push = NULL, void *push_ptr = NULL);
+
70 
+
71  NexPid getPid(void);
+
72  NexCid getCid(void);
+
73  const char *getObjName(void);
+
74  void print(void);
+
75 
+
76 protected: /* static methods */
+
77  static bool setBrightness(uint32_t brightness);
+
78  static bool getBrightness(uint32_t *brightness);
+
79 
+
80 protected: /* methods */
+
81  void attachPush(NexTouchEventCb push, void *ptr = NULL);
+
82  void detachPush(void);
+
83  void attachPop(NexTouchEventCb pop, void *ptr = NULL);
+
84  void detachPop(void);
+
85 
+
86 private: /* static methods */
+
87  static void iterate(NexTouch **list, NexPid pid, NexCid cid, NexEventType event);
+
88 
+
89 private: /* methods */
+
90  void push(void);
+
91  void pop(void);
+
92 
+
93 private: /* static data */
+
94  static uint8_t __buffer[256];
+
95 
+
96 private: /* data */
+
97  NexPid pid; /* Page ID */
+
98  NexCid cid; /* Component ID */
+
99  char *name; /* An unique name */
+
100  NexTouchEventCb cbPush;
+
101  void *__cbpush_ptr;
+
102  NexTouchEventCb cbPop;
+
103  void *__cbpop_ptr;
+
104 };
+
105 
+
106 bool nexInit(void);
+
107 bool nexLoop(NexTouch **nex_listen_list);
+
108 bool sendCurrentPageId(uint8_t* pageId);
+
109 bool touchCalibration(void);
+
110 bool disableTouchFocus(void);
+
111 bool pauseSerialCommand(void);
+
112 bool recoverySerialCommand(void);
+
113 bool clearSerialSurplusCommand(void);
+
114 bool setCurrentBrightness(uint8_t dimValue);
+
115 bool setDefaultBrightness(uint8_t dimDefaultValue);
+
116 bool sleepMode(uint8_t mode);
+
117 bool setCurrentBaudrate(uint32_t baudrate);
+
118 bool setDefaultBaudrate(uint32_t baudrate);
+
119 
+
120 #endif /* #ifdef __cplusplus */
+
121 #endif /* #ifndef __NEXTOUCH_H__ */
+
bool setDefaultBaudrate(uint32_t baudrate)
Set default baudrate.
Definition: NexTouch.cpp:721
+
NexPid getPid(void)
Get page id.
Definition: NexTouch.cpp:87
+
bool sleepMode(uint8_t mode)
Set device in sleep mode.
Definition: NexTouch.cpp:652
+
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
Constructor of Nextouch.
Definition: NexTouch.cpp:69
+
Serial configure.
+
bool setCurrentBaudrate(uint32_t baudrate)
Set current baudrate.
Definition: NexTouch.cpp:689
+
bool setDefaultBrightness(uint8_t dimDefaultValue)
Set default backlight brightness value.
Definition: NexTouch.cpp:618
+
bool nexInit(void)
Init Nextion's baudrate,page id.
Definition: NexTouch.cpp:404
+
static void sendCommand(const char *cmd)
Send command to Nextion.
Definition: NexTouch.cpp:256
+
const char * getObjName(void)
Get component name.
Definition: NexTouch.cpp:107
+
bool disableTouchFocus(void)
Disable all touch hot.
Definition: NexTouch.cpp:508
+
bool pauseSerialCommand(void)
Pause serial instruction execution.
Definition: NexTouch.cpp:532
+
void print(void)
Print current object address,page id,component id, component name,pop event function address...
Definition: NexTouch.cpp:117
+
static uint8_t mainEventLoop(NexTouch **list)
Watting for Nextion's touch event.
Definition: NexTouch.cpp:26
+
bool touchCalibration(void)
Touch screen calibration.
Definition: NexTouch.cpp:484
+
NexCid getCid(void)
Get component id.
Definition: NexTouch.cpp:97
+
bool setCurrentBrightness(uint8_t dimValue)
Set current backlight brightness value.
Definition: NexTouch.cpp:583
+
static bool recvRetNumber(uint32_t *number, uint32_t timeout=500)
Receive uint32_t data.
Definition: NexTouch.cpp:351
+
static uint16_t recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)
Receive string data.
Definition: NexTouch.cpp:279
+
bool recoverySerialCommand(void)
Recovery serial instruction execution.
Definition: NexTouch.cpp:557
+
bool sendCurrentPageId(uint8_t *pageId)
Return current page id.
Definition: NexTouch.cpp:434
+
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
Definition: NexTouch.cpp:219
+
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Definition: NexTouch.cpp:420
+
Root Class of Nextion Components.
Definition: NexTouch.h:57
+
+ + + + diff --git a/API-html/annotated.html b/API-html/annotated.html new file mode 100644 index 00000000..4ef87f9 --- /dev/null +++ b/API-html/annotated.html @@ -0,0 +1,75 @@ + + + + + + +API: Class List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + + + + + + + + + +
 CNexButtonNexButton,subclass of NexTouch,provides simple methods to control button component
 CNexCropNexCrop,subclass of NexTouch,provides simple methods to control crop component
 CNexHotspotNexHotspot,subclass of NexTouch,provides simple methods to control hotspot component
 CNexPageNexPage,subclass of NexTouch,provides simple methods to control page component
 CNexPictureNexPicture,subclass of NexTouch,provides simple methods to control picture component
 CNexPointerNexPointer,subclass of NexTouch,provides simple methods to control pointer component
 CNexProgressBarNexProgressBar,subclass of NexTouch,provides simple methods to control progress bar component
 CNexTextNexText,subclass of NexTouch,provides simple methods to control text component
 CNexTouchRoot Class of Nextion Components
+
+
+ + + + diff --git a/API-html/bc_s.png b/API-html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d0e79efa07a2479e19e48d0b86ee8bbec17575 GIT binary patch literal 658 zcmV;D0&V??P)@4=Jh&Sai6?8bGM z_tn~g#`fui{sRCQ;nio_sLw4nmC4-Xhqyin0F3a;)8qlWKwdOe$-n5ccRK#_4+Hd0 zCUg6{-8FK##A83L^0E-%*Y|s?>EC@@D}_rmX8`Q^S3y7kb#JZAaRmJ{3H`GLbWf=H z{CZubaMY#nQ}l0oETC)L0;+j}U-s0V6S$+3nzi9*1o?tQj46;_g=fU=(TGEGYtyo#CYM8r$#03J+Tp zk(;P@iJ7pr-pOOb3^3|-iaY5n#v>_X$OPJMTR;VEP;6I~l*@f#En^y(t8cSLf6=Mf zYNT-7^8Oc z(aVLRE16pi&@#B_qDGB1dd$mhi>?@J3~*>*@fw|ffSNTrznTdG03$qjV_|uRTas)X s2Ig0c_W;0%7kH8(2y66mMTfcg3zoFG0!Iuh1ONa407*qoM6N<$g2_oSe*gdg literal 0 HcmV?d00001 diff --git a/API-html/bdwn.png b/API-html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..9e47d9add05b414178300cdce4731c65c250a724 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZ7*7|+kP61PbG>;R3V^p;xAjf)-;%rsqP?yBUdtYs{%^Wv7IVhZop#RE0W}{E xZz*fKbo|xkMGtnGoG+aJ+ghxVtxRzT!?E|$b1zS;TMo2`!PC{xWt~$(69D+nGZFv* literal 0 HcmV?d00001 diff --git a/API-html/class_nex_button-members.html b/API-html/class_nex_button-members.html new file mode 100644 index 00000000..eac6c7b --- /dev/null +++ b/API-html/class_nex_button-members.html @@ -0,0 +1,80 @@ + + + + + + +API: Member List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexButton Member List
+
+
+ +

This is the complete list of members for NexButton, including all inherited members.

+ + + + + + + + + + + + + + + + +
attachPop(NexTouchEventCb pop, void *ptr=NULL)NexButton
detachPop(void)NexButton
getCid(void)NexTouch
getObjName(void)NexTouch
getPid(void)NexTouch
getText(char *buffer, uint16_t len)NexButton
mainEventLoop(NexTouch **list)NexTouchstatic
NexButton(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)NexButton
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexTouch
print(void)NexTouch
recvRetCommandFinished(uint32_t timeout=100)NexTouchstatic
recvRetNumber(uint32_t *number, uint32_t timeout=500)NexTouchstatic
recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)NexTouchstatic
sendCommand(const char *cmd)NexTouchstatic
setText(const char *buffer)NexButton
+ + + + diff --git a/API-html/class_nex_button.html b/API-html/class_nex_button.html new file mode 100644 index 00000000..11748e8 --- /dev/null +++ b/API-html/class_nex_button.html @@ -0,0 +1,257 @@ + + + + + + +API: NexButton Class Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexButton Class Reference
+
+
+ +

NexButton,subclass of NexTouch,provides simple methods to control button component. + More...

+ +

#include <NexButton.h>

+
+Inheritance diagram for NexButton:
+
+
+ + +NexTouch + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

NexButton (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
 Constructor,inherited NexTouch's constructor function.
 
void attachPop (NexTouchEventCb pop, void *ptr=NULL)
 Register button pop callback function. More...
 
+void detachPop (void)
 Unload button pop callback function.
 
uint16_t getText (char *buffer, uint16_t len)
 Get text value from button component. More...
 
bool setText (const char *buffer)
 Set text value of button component. More...
 
- Public Member Functions inherited from NexTouch
 NexTouch (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor of Nextouch. More...
 
NexPid getPid (void)
 Get page id. More...
 
NexCid getCid (void)
 Get component id. More...
 
const char * getObjName (void)
 Get component name. More...
 
+void print (void)
 Print current object address,page id,component id, component name,pop event function address,push event function address.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from NexTouch
static uint8_t mainEventLoop (NexTouch **list)
 Watting for Nextion's touch event. More...
 
static void sendCommand (const char *cmd)
 Send command to Nextion. More...
 
static bool recvRetCommandFinished (uint32_t timeout=100)
 Command is executed successfully. More...
 
static uint16_t recvRetString (char *buffer, uint16_t len, uint32_t timeout=500)
 Receive string data. More...
 
static bool recvRetNumber (uint32_t *number, uint32_t timeout=500)
 Receive uint32_t data. More...
 
+

Detailed Description

+

NexButton,subclass of NexTouch,provides simple methods to control button component.

+
Examples:
CompButton.ino, CompPointer.ino, CompProgressBar.ino, and CompText.ino.
+
+

Definition at line 25 of file NexButton.h.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void NexButton::attachPop (NexTouchEventCb pop,
void * ptr = NULL 
)
+
+ +

Register button pop callback function.

+
Parameters
+ + + +
pop- the pointer to button pop callback function.
ptr- the parameter to be transmitted to button pop callback function.
+
+
+
Examples:
CompButton.ino, CompPointer.ino, and CompProgressBar.ino.
+
+

Definition at line 70 of file NexButton.cpp.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
uint16_t NexButton::getText (char * buffer,
uint16_t len 
)
+
+ +

Get text value from button component.

+
Parameters
+ + + +
buffer- text buffer.
len- text buffer length.
+
+
+
Returns
the text buffer length
+
Examples:
CompButton.ino.
+
+

Definition at line 35 of file NexButton.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool NexButton::setText (const char * buffer)
+
+ +

Set text value of button component.

+
Parameters
+ + +
buffer- text buffer.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompButton.ino.
+
+

Definition at line 53 of file NexButton.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/API-html/class_nex_button.png b/API-html/class_nex_button.png new file mode 100644 index 0000000000000000000000000000000000000000..0cd1db00cf2cab9a9efa4eda558dc4eb3ad09a50 GIT binary patch literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^u0R~X!3-oTJUonnlth3}i0l9V|AEYBAAY4RemDWh z0^_Ft^jg5N`m}?8GwpF;OeOmBL)UWBTpB{kP61Pb1&u{R^VYc?{?~c{iilg ziB}uSRQZG5mvHkMwr{*#9^{oNIce1^rQ3^ENo9(?eD`)z(aKeByE3=mNQp5BJfmZl zosw8Q&+?X%~XS>EdxW1DucT`f+R1!soKO&dZWZb>~N&clDls+j?5rl^~V= z*IA;cjDN;Gvpv?>@xu0JVyCx1VLNL(&Hn1* zT*e&<(F{trnFMZ%HJsSS;PP*|t4oR`OTxrl#tsv2Nx7*@8DqbEU6!}eFyh$B=VHGT zQy%Wz6Lo6$=i3^B-)y%2c(BPLbKSJa`00wvazb7gWqv%&cXey~whgXli+*1GG~xDo z-M1^&u9^F^=6jRsw-t5zPxEKLkL_Q?`XF~3tHP&=VuBMx_c1Ky=dUu=EtvxhQ3g*} KKbLh*2~7a$%)M9u literal 0 HcmV?d00001 diff --git a/API-html/class_nex_crop-members.html b/API-html/class_nex_crop-members.html new file mode 100644 index 00000000..6033159 --- /dev/null +++ b/API-html/class_nex_crop-members.html @@ -0,0 +1,78 @@ + + + + + + +API: Member List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexCrop Member List
+
+
+ +

This is the complete list of members for NexCrop, including all inherited members.

+ + + + + + + + + + + + + + +
attachPop(NexTouchEventCb pop, void *ptr=NULL)NexCrop
detachPop(void)NexCrop
getCid(void)NexTouch
getObjName(void)NexTouch
getPid(void)NexTouch
mainEventLoop(NexTouch **list)NexTouchstatic
NexCrop(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)NexCrop
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexTouch
print(void)NexTouch
recvRetCommandFinished(uint32_t timeout=100)NexTouchstatic
recvRetNumber(uint32_t *number, uint32_t timeout=500)NexTouchstatic
recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)NexTouchstatic
sendCommand(const char *cmd)NexTouchstatic
+ + + + diff --git a/API-html/class_nex_crop.html b/API-html/class_nex_crop.html new file mode 100644 index 00000000..95e6c47 --- /dev/null +++ b/API-html/class_nex_crop.html @@ -0,0 +1,178 @@ + + + + + + +API: NexCrop Class Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexCrop Class Reference
+
+
+ +

NexCrop,subclass of NexTouch,provides simple methods to control crop component. + More...

+ +

#include <NexCrop.h>

+
+Inheritance diagram for NexCrop:
+
+
+ + +NexTouch + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

NexCrop (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
 Constructor,inherited NexTouch's constructor function.
 
void attachPop (NexTouchEventCb pop, void *ptr=NULL)
 Register crop pop callback function. More...
 
+void detachPop (void)
 Unload crop pop callback function.
 
- Public Member Functions inherited from NexTouch
 NexTouch (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor of Nextouch. More...
 
NexPid getPid (void)
 Get page id. More...
 
NexCid getCid (void)
 Get component id. More...
 
const char * getObjName (void)
 Get component name. More...
 
+void print (void)
 Print current object address,page id,component id, component name,pop event function address,push event function address.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from NexTouch
static uint8_t mainEventLoop (NexTouch **list)
 Watting for Nextion's touch event. More...
 
static void sendCommand (const char *cmd)
 Send command to Nextion. More...
 
static bool recvRetCommandFinished (uint32_t timeout=100)
 Command is executed successfully. More...
 
static uint16_t recvRetString (char *buffer, uint16_t len, uint32_t timeout=500)
 Receive string data. More...
 
static bool recvRetNumber (uint32_t *number, uint32_t timeout=500)
 Receive uint32_t data. More...
 
+

Detailed Description

+

NexCrop,subclass of NexTouch,provides simple methods to control crop component.

+
Examples:
CompCrop.ino.
+
+

Definition at line 25 of file NexCrop.h.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void NexCrop::attachPop (NexTouchEventCb pop,
void * ptr = NULL 
)
+
+ +

Register crop pop callback function.

+
Parameters
+ + + +
pop- the pointer to crop pop callback function.
ptr- the parameter to be transmitted to crop pop callback function.
+
+
+
Examples:
CompCrop.ino.
+
+

Definition at line 72 of file NexCrop.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/API-html/class_nex_crop.png b/API-html/class_nex_crop.png new file mode 100644 index 0000000000000000000000000000000000000000..12b09a2e1e1eda600ab9aac595ca13bfa3626c51 GIT binary patch literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^u0R~X!3-oTJUonnlth3}i0l9V|AEYBAAY4RemDWh z0^_Ft^jg5N`m}?8GwpF;OeOmBL)UWBTpB{kP61Pb1&u{R^V~%@164h{}WM- z8%GlFddV&8Td_T&fnR(!zrxZf(_Di>W3Mb*vC6HqYsde8o_|9^7vI?ucq+wbhChnq11#IN+~RoZI8n6Rob=+J}$TkaeAUnV_X#8Z65qDMaq9(n|)8&|K~P6 zaobJbKiNEW?PsW45qya~fZ_jbk%kq2YFu2zzOu?#@`u%5*>3_2Q3g*}KbLh*2~7aU CvbeGU literal 0 HcmV?d00001 diff --git a/API-html/class_nex_hotspot-members.html b/API-html/class_nex_hotspot-members.html new file mode 100644 index 00000000..172329a --- /dev/null +++ b/API-html/class_nex_hotspot-members.html @@ -0,0 +1,80 @@ + + + + + + +API: Member List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexHotspot Member List
+
+
+ +

This is the complete list of members for NexHotspot, including all inherited members.

+ + + + + + + + + + + + + + + + +
attachPop(NexTouchEventCb pop, void *ptr=NULL)NexHotspot
attachPush(NexTouchEventCb push, void *ptr=NULL)NexHotspot
detachPop(void)NexHotspot
detachPush(void)NexHotspot
getCid(void)NexTouch
getObjName(void)NexTouch
getPid(void)NexTouch
mainEventLoop(NexTouch **list)NexTouchstatic
NexHotspot(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexHotspot
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexTouch
print(void)NexTouch
recvRetCommandFinished(uint32_t timeout=100)NexTouchstatic
recvRetNumber(uint32_t *number, uint32_t timeout=500)NexTouchstatic
recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)NexTouchstatic
sendCommand(const char *cmd)NexTouchstatic
+ + + + diff --git a/API-html/class_nex_hotspot.html b/API-html/class_nex_hotspot.html new file mode 100644 index 00000000..f5e83f8 --- /dev/null +++ b/API-html/class_nex_hotspot.html @@ -0,0 +1,223 @@ + + + + + + +API: NexHotspot Class Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexHotspot Class Reference
+
+
+ +

NexHotspot,subclass of NexTouch,provides simple methods to control hotspot component. + More...

+ +

#include <NexHotspot.h>

+
+Inheritance diagram for NexHotspot:
+
+
+ + +NexTouch + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

NexHotspot (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor,inherited NexTouch's constructor function.
 
void attachPush (NexTouchEventCb push, void *ptr=NULL)
 Register hotspot push callback function. More...
 
+void detachPush (void)
 Unload hotsopt push callback function.
 
void attachPop (NexTouchEventCb pop, void *ptr=NULL)
 Register hotspot pop callback function. More...
 
+void detachPop (void)
 Unload hotsopt pop callback function.
 
- Public Member Functions inherited from NexTouch
 NexTouch (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor of Nextouch. More...
 
NexPid getPid (void)
 Get page id. More...
 
NexCid getCid (void)
 Get component id. More...
 
const char * getObjName (void)
 Get component name. More...
 
+void print (void)
 Print current object address,page id,component id, component name,pop event function address,push event function address.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from NexTouch
static uint8_t mainEventLoop (NexTouch **list)
 Watting for Nextion's touch event. More...
 
static void sendCommand (const char *cmd)
 Send command to Nextion. More...
 
static bool recvRetCommandFinished (uint32_t timeout=100)
 Command is executed successfully. More...
 
static uint16_t recvRetString (char *buffer, uint16_t len, uint32_t timeout=500)
 Receive string data. More...
 
static bool recvRetNumber (uint32_t *number, uint32_t timeout=500)
 Receive uint32_t data. More...
 
+

Detailed Description

+

NexHotspot,subclass of NexTouch,provides simple methods to control hotspot component.

+
Examples:
CompHotspot.ino.
+
+

Definition at line 25 of file NexHotspot.h.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void NexHotspot::attachPop (NexTouchEventCb pop,
void * ptr = NULL 
)
+
+ +

Register hotspot pop callback function.

+
Parameters
+ + + +
pop- the pointer to hotspot pot callback function.
ptr- the parameter to be transmitted to hotspot pop callback function.
+
+
+
Examples:
CompHotspot.ino.
+
+

Definition at line 55 of file NexHotspot.cpp.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void NexHotspot::attachPush (NexTouchEventCb push,
void * ptr = NULL 
)
+
+ +

Register hotspot push callback function.

+
Parameters
+ + + +
push- the pointer to hotspot push callback function.
ptr- the parameter to be transmitted to hotspot push callback function.
+
+
+
Examples:
CompHotspot.ino.
+
+

Definition at line 35 of file NexHotspot.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/API-html/class_nex_hotspot.png b/API-html/class_nex_hotspot.png new file mode 100644 index 0000000000000000000000000000000000000000..df0d7084c05d079a89b270418c09ab71e931b4a0 GIT binary patch literal 429 zcmeAS@N?(olHy`uVBq!ia0vp^K0qA6!3-o@Vv~OYDTx4|5ZC|z{{xxNKKx2s{BQ!0 z1;z&s99UzUTmj^Almz(&GXNEVz|~VBMhpy$Hl8kyAr*{o=U&V^tia>SFTV2s|C7-M zEKEyuSIaN!^)O#%W@lkmtA0#kugeq_`P>;QYge|mK8v0E&EwLFbG402Z_Frnu442) zxTLvyQSs52YfkqmFMjHqc=bwDdw@~u=`HD^iN~+^OD0a=wVc`G>eOk!58U#yZB~ejpGnug)F&7od!f=`{)OSgB=t8R3zk$K+80@8 z5`IH}-m^AFovgzQ*R~`wWZyDqFwK=XFw1OBtrN#VZx#l55YKPM%z1aJ^Zo23Qzxzw z*U_ECm**Bfqw;O4;_aec%Qs|k6+b)6Ze|&KUhiX!!@is05jQ{bq}dmh{hYOMlT-!! zwNR^*uO1Xfyma|!#vJkP=IczU + + + + + +API: Member List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPage Member List
+
+
+ +

This is the complete list of members for NexPage, including all inherited members.

+ + + + + + + + + + + + + + + +
attachPop(NexTouchEventCb pop, void *ptr=NULL)NexPage
detachPop(void)NexPage
getCid(void)NexTouch
getObjName(void)NexTouch
getPid(void)NexTouch
mainEventLoop(NexTouch **list)NexTouchstatic
NexPage(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)NexPage
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexTouch
print(void)NexTouch
recvRetCommandFinished(uint32_t timeout=100)NexTouchstatic
recvRetNumber(uint32_t *number, uint32_t timeout=500)NexTouchstatic
recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)NexTouchstatic
sendCommand(const char *cmd)NexTouchstatic
show(void)NexPage
+ + + + diff --git a/API-html/class_nex_page.html b/API-html/class_nex_page.html new file mode 100644 index 00000000..6911f33 --- /dev/null +++ b/API-html/class_nex_page.html @@ -0,0 +1,209 @@ + + + + + + +API: NexPage Class Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexPage Class Reference
+
+
+ +

NexPage,subclass of NexTouch,provides simple methods to control page component. + More...

+ +

#include <NexPage.h>

+
+Inheritance diagram for NexPage:
+
+
+ + +NexTouch + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

NexPage (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
 Constructor,inherited NexTouch's constructor function.
 
bool show (void)
 Change page. More...
 
void attachPop (NexTouchEventCb pop, void *ptr=NULL)
 Register page pop callback function. More...
 
+void detachPop (void)
 Unload page pop callback function.
 
- Public Member Functions inherited from NexTouch
 NexTouch (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor of Nextouch. More...
 
NexPid getPid (void)
 Get page id. More...
 
NexCid getCid (void)
 Get component id. More...
 
const char * getObjName (void)
 Get component name. More...
 
+void print (void)
 Print current object address,page id,component id, component name,pop event function address,push event function address.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from NexTouch
static uint8_t mainEventLoop (NexTouch **list)
 Watting for Nextion's touch event. More...
 
static void sendCommand (const char *cmd)
 Send command to Nextion. More...
 
static bool recvRetCommandFinished (uint32_t timeout=100)
 Command is executed successfully. More...
 
static uint16_t recvRetString (char *buffer, uint16_t len, uint32_t timeout=500)
 Receive string data. More...
 
static bool recvRetNumber (uint32_t *number, uint32_t timeout=500)
 Receive uint32_t data. More...
 
+

Detailed Description

+

NexPage,subclass of NexTouch,provides simple methods to control page component.

+
Examples:
CompPage.ino.
+
+

Definition at line 25 of file NexPage.h.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void NexPage::attachPop (NexTouchEventCb pop,
void * ptr = NULL 
)
+
+ +

Register page pop callback function.

+
Parameters
+ + + +
pop- the pointer to page pop callback function.
ptr- the parameter to be transmitted to page pop callback function.
+
+
+
Examples:
CompPage.ino.
+
+

Definition at line 55 of file NexPage.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool NexPage::show (void )
+
+ +

Change page.

+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompPage.ino.
+
+

Definition at line 33 of file NexPage.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/API-html/class_nex_page.png b/API-html/class_nex_page.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d710e52d2e49f177eefb9cfd819dfd9e8267c6 GIT binary patch literal 429 zcmeAS@N?(olHy`uVBq!ia0vp^u0R~X!3-oTJUonnlth3}i0l9V|AEYBAAY4RemDWh z0^_Ft^jg5N`m}?8GwpF;OeOmBL)UW8&4Omeb;| zE>304*r3BOF_p1Hhua|~l0oVJcX903arZiY`k_!xR7t?hxmWVv?#f7reIF*S{yO^AcjFE7a%NtAlyz_0og(A% zw;vW=-ZgLSy3Kpmdarjs-p6aoN3&+omNAsT+>aD$h_*Xq+htK9EQ!Z)5hpypI U_w?4j2Mk*VPgg&ebxsLQ0OVr5XaE2J literal 0 HcmV?d00001 diff --git a/API-html/class_nex_picture-members.html b/API-html/class_nex_picture-members.html new file mode 100644 index 00000000..119ae71 --- /dev/null +++ b/API-html/class_nex_picture-members.html @@ -0,0 +1,80 @@ + + + + + + +API: Member List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPicture Member List
+
+
+ +

This is the complete list of members for NexPicture, including all inherited members.

+ + + + + + + + + + + + + + + + +
attachPop(NexTouchEventCb pop, void *ptr=NULL)NexPicture
detachPop(void)NexPicture
getCid(void)NexTouch
getObjName(void)NexTouch
getPic(uint32_t *number)NexPicture
getPid(void)NexTouch
mainEventLoop(NexTouch **list)NexTouchstatic
NexPicture(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)NexPicture
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexTouch
print(void)NexTouch
recvRetCommandFinished(uint32_t timeout=100)NexTouchstatic
recvRetNumber(uint32_t *number, uint32_t timeout=500)NexTouchstatic
recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)NexTouchstatic
sendCommand(const char *cmd)NexTouchstatic
setPic(uint32_t number)NexPicture
+ + + + diff --git a/API-html/class_nex_picture.html b/API-html/class_nex_picture.html new file mode 100644 index 00000000..f5028f4 --- /dev/null +++ b/API-html/class_nex_picture.html @@ -0,0 +1,252 @@ + + + + + + +API: NexPicture Class Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexPicture Class Reference
+
+
+ +

NexPicture,subclass of NexTouch,provides simple methods to control picture component. + More...

+ +

#include <NexPicture.h>

+
+Inheritance diagram for NexPicture:
+
+
+ + +NexTouch + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

NexPicture (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
 Constructor,inherited NexTouch's constructor function.
 
void attachPop (NexTouchEventCb pop, void *ptr=NULL)
 Register picture pop callback function. More...
 
+void detachPop (void)
 Unload picture pop callback function.
 
bool getPic (uint32_t *number)
 Get picture's number. More...
 
bool setPic (uint32_t number)
 Set picture's number. More...
 
- Public Member Functions inherited from NexTouch
 NexTouch (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor of Nextouch. More...
 
NexPid getPid (void)
 Get page id. More...
 
NexCid getCid (void)
 Get component id. More...
 
const char * getObjName (void)
 Get component name. More...
 
+void print (void)
 Print current object address,page id,component id, component name,pop event function address,push event function address.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from NexTouch
static uint8_t mainEventLoop (NexTouch **list)
 Watting for Nextion's touch event. More...
 
static void sendCommand (const char *cmd)
 Send command to Nextion. More...
 
static bool recvRetCommandFinished (uint32_t timeout=100)
 Command is executed successfully. More...
 
static uint16_t recvRetString (char *buffer, uint16_t len, uint32_t timeout=500)
 Receive string data. More...
 
static bool recvRetNumber (uint32_t *number, uint32_t timeout=500)
 Receive uint32_t data. More...
 
+

Detailed Description

+

NexPicture,subclass of NexTouch,provides simple methods to control picture component.

+
Examples:
CompPicture.ino.
+
+

Definition at line 25 of file NexPicture.h.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void NexPicture::attachPop (NexTouchEventCb pop,
void * ptr = NULL 
)
+
+ +

Register picture pop callback function.

+
Parameters
+ + + +
pop- the pointer to picture pop callback function.
ptr- the parameter to be transmitted to picture pop callback function.
+
+
+
Examples:
CompPicture.ino.
+
+

Definition at line 72 of file NexPicture.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool NexPicture::getPic (uint32_t * number)
+
+ +

Get picture's number.

+
Parameters
+ + +
number- an output parameter to save picture number.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompPicture.ino.
+
+

Definition at line 35 of file NexPicture.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool NexPicture::setPic (uint32_t number)
+
+ +

Set picture's number.

+
Parameters
+ + +
number-the picture number.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompPicture.ino.
+
+

Definition at line 52 of file NexPicture.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/API-html/class_nex_picture.png b/API-html/class_nex_picture.png new file mode 100644 index 0000000000000000000000000000000000000000..b68679e1a6286680ad34c99f1ed5d60b6899a292 GIT binary patch literal 421 zcmeAS@N?(olHy`uVBq!ia0vp^UO*hc!3-ojorU)SDTx4|5ZC|z{{xxNKKx2s{BQ!0 z1;z&s99UzUTmj^Almz(&GXNEVz|~VBMhpy$CY~;iAr*{o=LYt*DDXJMdq4Wyzejt4 zE|YP}a{1XjYW_ZJ`!7{71bJz)OdxL;xm@k>pF=m@w4&FXdlwqFZi?f2pMY)KlE184_RR5iaccNt<&b@+>{q{g zJpEYYrq}V;H--PdTGO=rgnz-JpwPc9YlA{#A4`X5E)`)qP|epM@hIfD;Ippazq1y_ zG_I<*I=Gf8B4sthwHsOurrWp@dV$>J)t^+AgqWEG4u&zVDO`Q()0b%{fBdLP4}Q8e zxb&cCXx)i9*Iw-i5nI3Ce<53%R`i)0M_1pTC%^ZVaP9h8HY`%}a`$Vk6T3ch=c=^+ z(0;A^E7I(n=ib|1d*yIB`y8JO$4}>(9lglHXqODM_6OV44i66di!1`w0eXg?fMLqu M>FVdQ&MBb@07T5a;s5{u literal 0 HcmV?d00001 diff --git a/API-html/class_nex_pointer-members.html b/API-html/class_nex_pointer-members.html new file mode 100644 index 00000000..ffd2be0 --- /dev/null +++ b/API-html/class_nex_pointer-members.html @@ -0,0 +1,78 @@ + + + + + + +API: Member List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexPointer Member List
+
+
+ +

This is the complete list of members for NexPointer, including all inherited members.

+ + + + + + + + + + + + + + +
getCid(void)NexTouch
getObjName(void)NexTouch
getPid(void)NexTouch
getValue(uint32_t *number)NexPointer
mainEventLoop(NexTouch **list)NexTouchstatic
NexPointer(NexPid pid, NexCid cid, char *name)NexPointer
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexTouch
print(void)NexTouch
recvRetCommandFinished(uint32_t timeout=100)NexTouchstatic
recvRetNumber(uint32_t *number, uint32_t timeout=500)NexTouchstatic
recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)NexTouchstatic
sendCommand(const char *cmd)NexTouchstatic
setValue(uint32_t number)NexPointer
+ + + + diff --git a/API-html/class_nex_pointer.html b/API-html/class_nex_pointer.html new file mode 100644 index 00000000..21f32af --- /dev/null +++ b/API-html/class_nex_pointer.html @@ -0,0 +1,207 @@ + + + + + + +API: NexPointer Class Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexPointer Class Reference
+
+
+ +

NexPointer,subclass of NexTouch,provides simple methods to control pointer component. + More...

+ +

#include <NexPointer.h>

+
+Inheritance diagram for NexPointer:
+
+
+ + +NexTouch + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

NexPointer (NexPid pid, NexCid cid, char *name)
 Constructor,inherited NexTouch's constructor function.
 
bool getValue (uint32_t *number)
 Get the value of pointer. More...
 
bool setValue (uint32_t number)
 Set the value of pointer. More...
 
- Public Member Functions inherited from NexTouch
 NexTouch (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor of Nextouch. More...
 
NexPid getPid (void)
 Get page id. More...
 
NexCid getCid (void)
 Get component id. More...
 
const char * getObjName (void)
 Get component name. More...
 
+void print (void)
 Print current object address,page id,component id, component name,pop event function address,push event function address.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from NexTouch
static uint8_t mainEventLoop (NexTouch **list)
 Watting for Nextion's touch event. More...
 
static void sendCommand (const char *cmd)
 Send command to Nextion. More...
 
static bool recvRetCommandFinished (uint32_t timeout=100)
 Command is executed successfully. More...
 
static uint16_t recvRetString (char *buffer, uint16_t len, uint32_t timeout=500)
 Receive string data. More...
 
static bool recvRetNumber (uint32_t *number, uint32_t timeout=500)
 Receive uint32_t data. More...
 
+

Detailed Description

+

NexPointer,subclass of NexTouch,provides simple methods to control pointer component.

+
Examples:
CompPointer.ino.
+
+

Definition at line 10 of file NexPointer.h.

+

Member Function Documentation

+ +
+
+ + + + + + + + +
bool NexPointer::getValue (uint32_t * number)
+
+ +

Get the value of pointer.

+
Parameters
+ + +
number- an output parameter to save pointer's value.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompPointer.ino.
+
+

Definition at line 20 of file NexPointer.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool NexPointer::setValue (uint32_t number)
+
+ +

Set the value of pointer.

+
Parameters
+ + +
number- the value of pointer.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompPointer.ino.
+
+

Definition at line 37 of file NexPointer.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/API-html/class_nex_pointer.png b/API-html/class_nex_pointer.png new file mode 100644 index 0000000000000000000000000000000000000000..87aa56e318e0e88c43de7988f70261b384188dbc GIT binary patch literal 428 zcmeAS@N?(olHy`uVBq!ia0vp^UO*hc!3-ojorU)SDTx4|5ZC|z{{xxNKKx2s{BQ!0 z1;z&s99UzUTmj^Almz(&GXNEVz|~VBMhpy$)}AhoAr*{o=ibgcqQK+Q-@E1i|C6~s zhg2P=<^By=={9S^k!KHjZq}+Tol@fx6#6w_K}hKLD+`wFoTga0VpZR(`0X0qJ*&m$ zxKC;IVc*(tJ}Y;*-s6ai7t&T(UA1bT;2VDG$ZD<=(bvyQ1je2fzP)zS=?wmm=%@XG zPd{%iG~M|zf5V%XF>9?W8gB9F1*}@NKM-X87x@6qrB9R^zE?5+IKlt5YUjp30ryq( zrzyYcFEa>Wn9U_}U>+0ehUE^7Z!`lKs=21{3JS_AGRT3%xwQPt^WOPPw!P;YV8*}V z=%(~3cW3auI;pWDW)7=PjGn0BqE{iEZ%^w@E0^3mD + + + + + +API: Member List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexProgressBar Member List
+
+
+ +

This is the complete list of members for NexProgressBar, including all inherited members.

+ + + + + + + + + + + + + + +
getCid(void)NexTouch
getObjName(void)NexTouch
getPid(void)NexTouch
getValue(uint32_t *number)NexProgressBar
mainEventLoop(NexTouch **list)NexTouchstatic
NexProgressBar(NexPid pid, NexCid cid, char *name)NexProgressBar
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexTouch
print(void)NexTouch
recvRetCommandFinished(uint32_t timeout=100)NexTouchstatic
recvRetNumber(uint32_t *number, uint32_t timeout=500)NexTouchstatic
recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)NexTouchstatic
sendCommand(const char *cmd)NexTouchstatic
setValue(uint32_t number)NexProgressBar
+ + + + diff --git a/API-html/class_nex_progress_bar.html b/API-html/class_nex_progress_bar.html new file mode 100644 index 00000000..f7fc6be --- /dev/null +++ b/API-html/class_nex_progress_bar.html @@ -0,0 +1,207 @@ + + + + + + +API: NexProgressBar Class Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexProgressBar Class Reference
+
+
+ +

NexProgressBar,subclass of NexTouch,provides simple methods to control progress bar component. + More...

+ +

#include <NexProgressBar.h>

+
+Inheritance diagram for NexProgressBar:
+
+
+ + +NexTouch + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

NexProgressBar (NexPid pid, NexCid cid, char *name)
 Constructor,inherited NexTouch's constructor function.
 
bool getValue (uint32_t *number)
 Get the value of progress bar. More...
 
bool setValue (uint32_t number)
 Set the value of progress bar. More...
 
- Public Member Functions inherited from NexTouch
 NexTouch (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor of Nextouch. More...
 
NexPid getPid (void)
 Get page id. More...
 
NexCid getCid (void)
 Get component id. More...
 
const char * getObjName (void)
 Get component name. More...
 
+void print (void)
 Print current object address,page id,component id, component name,pop event function address,push event function address.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from NexTouch
static uint8_t mainEventLoop (NexTouch **list)
 Watting for Nextion's touch event. More...
 
static void sendCommand (const char *cmd)
 Send command to Nextion. More...
 
static bool recvRetCommandFinished (uint32_t timeout=100)
 Command is executed successfully. More...
 
static uint16_t recvRetString (char *buffer, uint16_t len, uint32_t timeout=500)
 Receive string data. More...
 
static bool recvRetNumber (uint32_t *number, uint32_t timeout=500)
 Receive uint32_t data. More...
 
+

Detailed Description

+

NexProgressBar,subclass of NexTouch,provides simple methods to control progress bar component.

+
Examples:
CompProgressBar.ino.
+
+

Definition at line 25 of file NexProgressBar.h.

+

Member Function Documentation

+ +
+
+ + + + + + + + +
bool NexProgressBar::getValue (uint32_t * number)
+
+ +

Get the value of progress bar.

+
Parameters
+ + +
number- an output parameter to save the value of porgress bar.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompProgressBar.ino.
+
+

Definition at line 35 of file NexProgressBar.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool NexProgressBar::setValue (uint32_t number)
+
+ +

Set the value of progress bar.

+
Parameters
+ + +
number- the value of progress bar.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompProgressBar.ino.
+
+

Definition at line 52 of file NexProgressBar.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/API-html/class_nex_progress_bar.png b/API-html/class_nex_progress_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..bcb63f096c66e84a0247bedc26e0668ebc77ab6c GIT binary patch literal 508 zcmVu&2H5C(@2DewQtJq8;vYZ7PM(xZq-6I+D!uot&~i80105G82>%Opu&{tHuR zzUyNCNRnl+{MwWPZS?qgZc~a(Y|`T0b4>?1?bss5vOA`Fsacwz(&gA9Nj=Z|RG*&@ zUTb7cr;H`3v2HNwVB}pT@JddD_|YnI!24Std#H zvP_cXWvVI07-smiW|;uIEE9m2WdiWBOaNY% z3Bb!T0eD%a;}b#%Qy>6LV3`2C{DCQ7dTkyWfZL2hswrKK>1q*R%qXPEX}d{m(tUpk zOSk)B_gAA^I=*YjarmQLy{TTRFh8XE + + + + + +API: Member List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexText Member List
+
+
+ +

This is the complete list of members for NexText, including all inherited members.

+ + + + + + + + + + + + + + + + +
attachPop(NexTouchEventCb pop, void *ptr=NULL)NexText
detachPop(void)NexText
getCid(void)NexTouch
getObjName(void)NexTouch
getPid(void)NexTouch
getText(char *buffer, uint16_t len)NexText
mainEventLoop(NexTouch **list)NexTouchstatic
NexText(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)NexText
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexTouch
print(void)NexTouch
recvRetCommandFinished(uint32_t timeout=100)NexTouchstatic
recvRetNumber(uint32_t *number, uint32_t timeout=500)NexTouchstatic
recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)NexTouchstatic
sendCommand(const char *cmd)NexTouchstatic
setText(const char *buffer)NexText
+ + + + diff --git a/API-html/class_nex_text.html b/API-html/class_nex_text.html new file mode 100644 index 00000000..c480fe2 --- /dev/null +++ b/API-html/class_nex_text.html @@ -0,0 +1,256 @@ + + + + + + +API: NexText Class Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+ +
+
NexText Class Reference
+
+
+ +

NexText,subclass of NexTouch,provides simple methods to control text component. + More...

+ +

#include <NexText.h>

+
+Inheritance diagram for NexText:
+
+
+ + +NexTouch + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

NexText (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL)
 Constructor,inherited NexTouch's constructor function.
 
void attachPop (NexTouchEventCb pop, void *ptr=NULL)
 Register text pop callback function. More...
 
+void detachPop (void)
 Unload text pop callback function.
 
uint16_t getText (char *buffer, uint16_t len)
 Get the value of text. More...
 
bool setText (const char *buffer)
 Set the value of text. More...
 
- Public Member Functions inherited from NexTouch
 NexTouch (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor of Nextouch. More...
 
NexPid getPid (void)
 Get page id. More...
 
NexCid getCid (void)
 Get component id. More...
 
const char * getObjName (void)
 Get component name. More...
 
+void print (void)
 Print current object address,page id,component id, component name,pop event function address,push event function address.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from NexTouch
static uint8_t mainEventLoop (NexTouch **list)
 Watting for Nextion's touch event. More...
 
static void sendCommand (const char *cmd)
 Send command to Nextion. More...
 
static bool recvRetCommandFinished (uint32_t timeout=100)
 Command is executed successfully. More...
 
static uint16_t recvRetString (char *buffer, uint16_t len, uint32_t timeout=500)
 Receive string data. More...
 
static bool recvRetNumber (uint32_t *number, uint32_t timeout=500)
 Receive uint32_t data. More...
 
+

Detailed Description

+

NexText,subclass of NexTouch,provides simple methods to control text component.

+
Examples:
CompText.ino.
+
+

Definition at line 25 of file NexText.h.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void NexText::attachPop (NexTouchEventCb pop,
void * ptr = NULL 
)
+
+ +

Register text pop callback function.

+
Parameters
+ + + +
pop- the pointer to text pop callback function.
ptr- the parameter to be transmitted to text pop callback function.
+
+
+ +

Definition at line 70 of file NexText.cpp.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
uint16_t NexText::getText (char * buffer,
uint16_t len 
)
+
+ +

Get the value of text.

+
Parameters
+ + + +
buffer- text value buffer.
len- the length of text value buffer.
+
+
+
Returns
the length of text value buffer.
+
Examples:
CompText.ino.
+
+

Definition at line 35 of file NexText.cpp.

+ +
+
+ +
+
+ + + + + + + + +
bool NexText::setText (const char * buffer)
+
+ +

Set the value of text.

+
Parameters
+ + +
buffer- text value buffer.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+
Examples:
CompText.ino.
+
+

Definition at line 53 of file NexText.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/API-html/class_nex_text.png b/API-html/class_nex_text.png new file mode 100644 index 0000000000000000000000000000000000000000..5ff4643a482a4bf67105058025217e4269a5c225 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^u0R~X!3-oTJUonnlth3}i0l9V|AEYBAAY4RemDWh z0^_Ft^jg5N`m}?8GwpF;OeOmBL)UWHBT4EkP61Pa|81aEAX(LcRTg}|4Hcp zgCohEUUJK>hUyFI$;A8o^7GQnbq)%>tD>`N)x5lk4{zBA*#lV%bEXA-;TG$fx-^74 z^2XftJ*ks3-Qq5~+)Fa|eqN`w-7NK8_u946QF-|@C!M>iTN!0JNkQ*-QqVA=TAh3gx*&JnO>jisktm3{%-g_Fafs=`PoM6N6J{I-)Djs#%+V<=5ZYeM@TNM-jQ{kBXut`a#J_XUOGE#f4ZdFRgY=)t70RvR(>ts)U&mEn&It=oj+Yl*RPY_Wqnmo uxBT1++pIs*jA1RT2PVhM3r_Ui#~|g;A5>Ghb|x?s89ZJ6T-G@yGywqkk*uBo literal 0 HcmV?d00001 diff --git a/API-html/class_nex_touch-members.html b/API-html/class_nex_touch-members.html new file mode 100644 index 00000000..2b0269a --- /dev/null +++ b/API-html/class_nex_touch-members.html @@ -0,0 +1,75 @@ + + + + + + +API: Member List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
NexTouch Member List
+
+
+ +

This is the complete list of members for NexTouch, including all inherited members.

+ + + + + + + + + + + +
getCid(void)NexTouch
getObjName(void)NexTouch
getPid(void)NexTouch
mainEventLoop(NexTouch **list)NexTouchstatic
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)NexTouch
print(void)NexTouch
recvRetCommandFinished(uint32_t timeout=100)NexTouchstatic
recvRetNumber(uint32_t *number, uint32_t timeout=500)NexTouchstatic
recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)NexTouchstatic
sendCommand(const char *cmd)NexTouchstatic
+ + + + diff --git a/API-html/class_nex_touch.html b/API-html/class_nex_touch.html new file mode 100644 index 00000000..cfb802c --- /dev/null +++ b/API-html/class_nex_touch.html @@ -0,0 +1,485 @@ + + + + + + +API: NexTouch Class Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+ +
+ +

Root Class of Nextion Components. + More...

+ +

#include <NexTouch.h>

+
+Inheritance diagram for NexTouch:
+
+
+ + +NexButton +NexCrop +NexHotspot +NexPage +NexPicture +NexPointer +NexProgressBar +NexText + +
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 NexTouch (NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
 Constructor of Nextouch. More...
 
NexPid getPid (void)
 Get page id. More...
 
NexCid getCid (void)
 Get component id. More...
 
const char * getObjName (void)
 Get component name. More...
 
+void print (void)
 Print current object address,page id,component id, component name,pop event function address,push event function address.
 
+ + + + + + + + + + + + + + + + +

+Static Public Member Functions

static uint8_t mainEventLoop (NexTouch **list)
 Watting for Nextion's touch event. More...
 
static void sendCommand (const char *cmd)
 Send command to Nextion. More...
 
static bool recvRetCommandFinished (uint32_t timeout=100)
 Command is executed successfully. More...
 
static uint16_t recvRetString (char *buffer, uint16_t len, uint32_t timeout=500)
 Receive string data. More...
 
static bool recvRetNumber (uint32_t *number, uint32_t timeout=500)
 Receive uint32_t data. More...
 
+

Detailed Description

+

Root Class of Nextion Components.

+
Examples:
CompButton.ino, CompCrop.ino, CompHotspot.ino, CompPage.ino, CompPicture.ino, CompPointer.ino, CompProgressBar.ino, and CompText.ino.
+
+

Definition at line 57 of file NexTouch.h.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NexTouch::NexTouch (NexPid pid,
NexCid cid,
char * name,
NexTouchEventCb pop = NULL,
void * pop_ptr = NULL,
NexTouchEventCb push = NULL,
void * push_ptr = NULL 
)
+
+ +

Constructor of Nextouch.

+
Parameters
+ + + + + + + + +
pid- page id.
cid- component id.
name- component name.
pop- pop event function pointer.
pop_ptr- the parameter was transmitted to pop event function pointer.
push- push event function pointer.
push_ptr- the parameter was transmitted to push event function pointer.
+
+
+ +

Definition at line 69 of file NexTouch.cpp.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
NexCid NexTouch::getCid (void )
+
+ +

Get component id.

+
Returns
the id of component.
+ +

Definition at line 97 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
const char * NexTouch::getObjName (void )
+
+ +

Get component name.

+
Returns
the name of component.
+ +

Definition at line 107 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + + + + +
NexPid NexTouch::getPid (void )
+
+ +

Get page id.

+
Returns
the id of page.
+ +

Definition at line 87 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
uint8_t NexTouch::mainEventLoop (NexTouch ** list)
+
+static
+
+ +

Watting for Nextion's touch event.

+
Parameters
+ + +
list- index to Nextion Components list.
+
+
+ +

Definition at line 26 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool NexTouch::recvRetCommandFinished (uint32_t timeout = 100)
+
+static
+
+ +

Command is executed successfully.

+
Parameters
+ + +
timeout- set timeout time.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 219 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool NexTouch::recvRetNumber (uint32_t * number,
uint32_t timeout = 500 
)
+
+static
+
+ +

Receive uint32_t data.

+
Parameters
+ + + +
number- save uint32_t data.
timeout- set timeout time.
+
+
+
Return values
+ + + +
true- success.
false- failed.
+
+
+ +

Definition at line 351 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
uint16_t NexTouch::recvRetString (char * buffer,
uint16_t len,
uint32_t timeout = 500 
)
+
+static
+
+ +

Receive string data.

+
Parameters
+ + + + +
buffer- save string data.
len- string buffer length.
timeout- set timeout time.
+
+
+
Returns
the length of string buffer.
+ +

Definition at line 279 of file NexTouch.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void NexTouch::sendCommand (const char * cmd)
+
+static
+
+ +

Send command to Nextion.

+
Parameters
+ + +
cmd- the string of command.
+
+
+ +

Definition at line 256 of file NexTouch.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/API-html/class_nex_touch.png b/API-html/class_nex_touch.png new file mode 100644 index 0000000000000000000000000000000000000000..0d299dbbf4945b8d96c7a375f68c9b2f0192c62e GIT binary patch literal 2299 zcma)82~-o;8lK2&u?kqEG(v;a8bD+bh_opPqNp(7ix#QD5)?r}#byCylLtKNiL#X% zmJ}gEWjP8OWNQLJ!cGMe6bOq+OhNz+At0NP{SD$PdTM=d&Y5%X%$;-Y{r+$HC+;Z5 zNqvLv1^@umLFWT*&?o=^Sl@aTXr}2Cq6rOKjvjVDxV*d!O^091`Q=J}fo8Ao+S=N? zcD`ZIH2n!ig#2V4J))1%Ys1mKDfPKF(I@rF%c2Uk%$`?b)nOwvX5xdQq zDeLZjF1X#6hUEqKHN0r5A~Y}d)nJu8^msa8iPHGerx|vj9UXH`NA*)nDe#pa!l5xy<=U?# zK=a+jk`!jDTNN^fYMYRfx6w)?rxhI&(hPP!oU0ec`&!!66ehgHI=kg^iCtd$#2If7 zK`{SVZqRr4n6rZ2$!8m$?f(K6P9yCk0~zZ*c03)s`FN7&Id z`r}Q-@Hj^hU8~+;Q7zJ93J;%*R|#W_*c*DzmMf4S;lG8$Lj`8NRQu~N9d7!{Ttzq8oDxWjRXvdY@@9_%co4Mi|t$X{- zrj&x%(_&w#X71-&mtUbrAXPC=$~AT^G();Ri>b0qTXd}4as}x ze0Ndd<|3m2C&x@N6!SmOF*~Ke6CESaNUj=c^0U%O`7By*Z2dPvF=L>>HcOYb(ONqE zc-A8O#;$&{!5z9IF3L0M-s7RYIj<6tyh|0sh4Ws9=b{uux%PG9)Tr5w8JTT6&VC}B z*kGYHt^^pF56M1PlPrVeElVv4{se$FO%K(G-taOM$OfMog0O-^(m>*i7K}t zp$UzMl<6H(pfFM8oPQRQHcB8G=La7Ic7<+MeMI;_<@+vPNZUDHkVG~^5@`ZEKYFX6 zLJ7X9WQ*P@%CsBAZUd}WH#P5+9AdWtV%Pl(d`4}y?*tWDF#?B#T!Lti2HncG_TpZ) zmz8-2rCB2IHy`j&`mHnr>DG%V!T|a7mZ#(23h;&rWkZ=rVNpkM>>k@8vYX@+(}OwPDo)5aGc7UsnAK z*8iG31gaYd)$Ma55Pk;XkVXO&i79z0m#(n1TYQ2ezn9LNAn$k`Van*6m<`^C|8(%4 zrJz3ZEN=U<38lQq2^ZDY-0vd!USXb^=Vd1;;MFK=@AegEe-Z`UWc z^>e+#Z_<9O?rA3UvaJq}L`i7*PXf_esSg6^7su?K8uZ$9I7ppFb-} z&4a(Ckfo2IY{o*_Y(xSU|F&g)s6s2v?g`{61ISY+vXEZCtac6*hJxwYK6V^2C0?Mo zFN`jwx-SODWsc2;NjnmqTlfBpD+ud?+FGtT>PCwO%J|NLOqVK}#2xqD=1*rT!`DqY zdL%V9a>^L^ZQ69i{N7aq=wi8N!e1398`Q?#oZaccND7AytLN(`#9#Jf;Ig51z}t?Y n*i%SAcKd1<`*Spfh?ME?bz&aU0A@0vKNSExh&e#t?;ZOeqs>q7 literal 0 HcmV?d00001 diff --git a/API-html/classes.html b/API-html/classes.html new file mode 100644 index 00000000..5dbf809 --- /dev/null +++ b/API-html/classes.html @@ -0,0 +1,71 @@ + + + + + + +API: Class Index + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
Class Index
+
+
+ + + + + + +
  N  
+
NexCrop   NexPicture   NexText   
NexHotspot   NexPointer   NexTouch   
NexButton   NexPage   NexProgressBar   
+ +
+ + + + diff --git a/API-html/closed.png b/API-html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..b4853a02d1a7776696255e027f5640c43ee64632 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8 + + + + + +API: examples/CompPointer Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
CompPointer Directory Reference
+
+
+ + + + +

+Files

file  CompPointer.ino [code]
 
+
+ + + + diff --git a/API-html/dir_7962cac16a99e8bbaaea18abede03fcb.html b/API-html/dir_7962cac16a99e8bbaaea18abede03fcb.html new file mode 100644 index 00000000..e5819d0 --- /dev/null +++ b/API-html/dir_7962cac16a99e8bbaaea18abede03fcb.html @@ -0,0 +1,64 @@ + + + + + + +API: examples/CompProgressBar Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
CompProgressBar Directory Reference
+
+
+ + + + +

+Files

file  CompProgressBar.ino [code]
 
+
+ + + + diff --git a/API-html/dir_8dcbebf38b229bfa7bb34d68bf824093.html b/API-html/dir_8dcbebf38b229bfa7bb34d68bf824093.html new file mode 100644 index 00000000..8f567c2 --- /dev/null +++ b/API-html/dir_8dcbebf38b229bfa7bb34d68bf824093.html @@ -0,0 +1,64 @@ + + + + + + +API: examples/CompCrop Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
CompCrop Directory Reference
+
+
+ + + + +

+Files

file  CompCrop.ino [code]
 
+
+ + + + diff --git a/API-html/dir_9bbf8342b0f9a157b7af08fe1412fc17.html b/API-html/dir_9bbf8342b0f9a157b7af08fe1412fc17.html new file mode 100644 index 00000000..68af635 --- /dev/null +++ b/API-html/dir_9bbf8342b0f9a157b7af08fe1412fc17.html @@ -0,0 +1,64 @@ + + + + + + +API: examples/CompButton Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
CompButton Directory Reference
+
+
+ + + + +

+Files

file  CompButton.ino [code]
 
+
+ + + + diff --git a/API-html/dir_a78b6b3fb4e2d95968f70c807a3ce800.html b/API-html/dir_a78b6b3fb4e2d95968f70c807a3ce800.html new file mode 100644 index 00000000..e0bced4 --- /dev/null +++ b/API-html/dir_a78b6b3fb4e2d95968f70c807a3ce800.html @@ -0,0 +1,66 @@ + + + + + + +API: doc/API-html Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
API-html Directory Reference
+
+
+ + + + + + +

+Files

file  dynsections.js [code]
 
file  jquery.js [code]
 
+
+ + + + diff --git a/API-html/dir_c918e8bf3fc71f849978cdb0d900e61c.html b/API-html/dir_c918e8bf3fc71f849978cdb0d900e61c.html new file mode 100644 index 00000000..5bd3288 --- /dev/null +++ b/API-html/dir_c918e8bf3fc71f849978cdb0d900e61c.html @@ -0,0 +1,64 @@ + + + + + + +API: examples/CompText Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
CompText Directory Reference
+
+
+ + + + +

+Files

file  CompText.ino [code]
 
+
+ + + + diff --git a/API-html/dir_ce36ac18ad3deaf5eae0bd2e09775a7d.html b/API-html/dir_ce36ac18ad3deaf5eae0bd2e09775a7d.html new file mode 100644 index 00000000..4f02443 --- /dev/null +++ b/API-html/dir_ce36ac18ad3deaf5eae0bd2e09775a7d.html @@ -0,0 +1,64 @@ + + + + + + +API: examples/CompPicture Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
CompPicture Directory Reference
+
+
+ + + + +

+Files

file  CompPicture.ino [code]
 
+
+ + + + diff --git a/API-html/dir_d28a4824dc47e487b107a5db32ef43c4.html b/API-html/dir_d28a4824dc47e487b107a5db32ef43c4.html new file mode 100644 index 00000000..d19c8bb --- /dev/null +++ b/API-html/dir_d28a4824dc47e487b107a5db32ef43c4.html @@ -0,0 +1,78 @@ + + + + + + +API: examples Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
examples Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Directories

directory  CompButton
 
directory  CompCrop
 
directory  CompHotspot
 
directory  CompPage
 
directory  CompPicture
 
directory  CompPointer
 
directory  CompProgressBar
 
directory  CompText
 
+
+ + + + diff --git a/API-html/dir_e68e8157741866f444e17edd764ebbae.html b/API-html/dir_e68e8157741866f444e17edd764ebbae.html new file mode 100644 index 00000000..51a173b --- /dev/null +++ b/API-html/dir_e68e8157741866f444e17edd764ebbae.html @@ -0,0 +1,64 @@ + + + + + + +API: doc Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
doc Directory Reference
+
+
+ + + + +

+Directories

directory  API-html
 
+
+ + + + diff --git a/API-html/dir_f3d39c87bc262720c50d5e3885667b8a.html b/API-html/dir_f3d39c87bc262720c50d5e3885667b8a.html new file mode 100644 index 00000000..32d9cde --- /dev/null +++ b/API-html/dir_f3d39c87bc262720c50d5e3885667b8a.html @@ -0,0 +1,64 @@ + + + + + + +API: examples/CompHotspot Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
CompHotspot Directory Reference
+
+
+ + + + +

+Files

file  CompHotspot.ino [code]
 
+
+ + + + diff --git a/API-html/dir_f76977d9ffe8ddf3ad01f3d689aa5df4.html b/API-html/dir_f76977d9ffe8ddf3ad01f3d689aa5df4.html new file mode 100644 index 00000000..a40e40b --- /dev/null +++ b/API-html/dir_f76977d9ffe8ddf3ad01f3d689aa5df4.html @@ -0,0 +1,64 @@ + + + + + + +API: examples/CompPage Directory Reference + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
CompPage Directory Reference
+
+
+ + + + +

+Files

file  CompPage.ino [code]
 
+
+ + + + diff --git a/API-html/doxygen.css b/API-html/doxygen.css new file mode 100644 index 00000000..aaf32a3 --- /dev/null +++ b/API-html/doxygen.css @@ -0,0 +1,1440 @@ +/* The standard CSS for doxygen 1.8.7 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #7BB0E5; + color: #1F62A5; + 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: #EAF2FB; + border: 1px solid #9AC3EB; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #236EB9; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #287ED3; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #92BEEA; + color: #ffffff; + border: 1px double #79AFE5; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFE; + border: 1px solid #BFD9F2; +} + +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.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + 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); +} + +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: #EAF2FB; + font-weight: bold; + border: 1px solid #BFD9F2; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EAF2FB; + border: 1px solid #BFD9F2; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #ECF4FB; +} + +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: #F6F9FD; + border-left: 2px solid #92BEEA; + 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 #9AC3EB; +} + +th.dirtab { + background: #EAF2FB; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #3083D7; +} + +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: #F8FBFD; + 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: #287ED3; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #287ED3; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EAF2FB; + border: 1px solid #9AC3EB; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A0C6EC; + border-left: 1px solid #A0C6EC; + border-right: 1px solid #A0C6EC; + padding: 6px 0px 6px 0px; + color: #164676; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E0ECF9; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A0C6EC; + border-left: 1px solid #A0C6EC; + border-right: 1px solid #A0C6EC; + padding: 6px 10px 2px 10px; + background-color: #FBFCFE; + 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: #63A2E1; + border-top:1px solid #3F8DDA; + border-left:1px solid #3F8DDA; + border-right:1px solid #BFD9F2; + border-bottom:1px solid #BFD9F2; + 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 #92BEEA; + border-bottom: 1px solid #92BEEA; + 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: #F6F9FD; +} + +.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: #236EB9; +} + +.arrow { + color: #92BEEA; + -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: #63A2E1; + 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('ftv2folderopen.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('ftv2folderclosed.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('ftv2doc.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: #195086; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #1B548D; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #2065AA; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A0C6EC; + 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 #A0C6EC; + border-bottom: 1px solid #A0C6EC; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A0C6EC; + /*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: #E0ECF9; + font-size: 90%; + color: #164676; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A0C6EC; +} + + +.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:#7EB2E6; + border:solid 1px #BCD7F2; + 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:#1F63A6; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #184C80; + 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:#579BDE; +} + +.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:#1F63A6; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +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: #F8FBFD; + margin: 0px; + border-bottom: 1px solid #BFD9F2; +} + +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; +} + +#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 #3F8DDA; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #84B6E7; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#1E5E9E; + 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: #F4F8FC; + border: 1px solid #D5E6F6; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 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: #287ED3; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/API-html/doxygen.png b/API-html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..33af278aa3b8cf00cca2afee0402a393a626db18 GIT binary patch literal 3796 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 + + + + + +API: doc/API-html/dynsections.js Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+
dynsections.js
+
+
+
1 function toggleVisibility(linkObj)
+
2 {
+
3  var base = $(linkObj).attr('id');
+
4  var summary = $('#'+base+'-summary');
+
5  var content = $('#'+base+'-content');
+
6  var trigger = $('#'+base+'-trigger');
+
7  var src=$(trigger).attr('src');
+
8  if (content.is(':visible')===true) {
+
9  content.hide();
+
10  summary.show();
+
11  $(linkObj).addClass('closed').removeClass('opened');
+
12  $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+
13  } else {
+
14  content.show();
+
15  summary.hide();
+
16  $(linkObj).removeClass('closed').addClass('opened');
+
17  $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+
18  }
+
19  return false;
+
20 }
+
21 
+
22 function updateStripes()
+
23 {
+
24  $('table.directory tr').
+
25  removeClass('even').filter(':visible:even').addClass('even');
+
26 }
+
27 
+
28 function toggleLevel(level)
+
29 {
+
30  $('table.directory tr').each(function() {
+
31  var l = this.id.split('_').length-1;
+
32  var i = $('#img'+this.id.substring(3));
+
33  var a = $('#arr'+this.id.substring(3));
+
34  if (l<level+1) {
+
35  i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
+
36  a.html('&#9660;');
+
37  $(this).show();
+
38  } else if (l==level+1) {
+
39  i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
+
40  a.html('&#9658;');
+
41  $(this).show();
+
42  } else {
+
43  $(this).hide();
+
44  }
+
45  });
+
46  updateStripes();
+
47 }
+
48 
+
49 function toggleFolder(id)
+
50 {
+
51  // the clicked row
+
52  var currentRow = $('#row_'+id);
+
53 
+
54  // all rows after the clicked row
+
55  var rows = currentRow.nextAll("tr");
+
56 
+
57  var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+
58 
+
59  // only match elements AFTER this one (can't hide elements before)
+
60  var childRows = rows.filter(function() { return this.id.match(re); });
+
61 
+
62  // first row is visible we are HIDING
+
63  if (childRows.filter(':first').is(':visible')===true) {
+
64  // replace down arrow by right arrow for current row
+
65  var currentRowSpans = currentRow.find("span");
+
66  currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+
67  currentRowSpans.filter(".arrow").html('&#9658;');
+
68  rows.filter("[id^=row_"+id+"]").hide(); // hide all children
+
69  } else { // we are SHOWING
+
70  // replace right arrow by down arrow for current row
+
71  var currentRowSpans = currentRow.find("span");
+
72  currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
+
73  currentRowSpans.filter(".arrow").html('&#9660;');
+
74  // replace down arrows by right arrows for child rows
+
75  var childRowsSpans = childRows.find("span");
+
76  childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+
77  childRowsSpans.filter(".arrow").html('&#9658;');
+
78  childRows.show(); //show all children
+
79  }
+
80  updateStripes();
+
81 }
+
82 
+
83 
+
84 function toggleInherit(id)
+
85 {
+
86  var rows = $('tr.inherit.'+id);
+
87  var img = $('tr.inherit_header.'+id+' img');
+
88  var src = $(img).attr('src');
+
89  if (rows.filter(':first').is(':visible')===true) {
+
90  rows.css('display','none');
+
91  $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+
92  } else {
+
93  rows.css('display','table-row'); // using show() causes jump in firefox
+
94  $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+
95  }
+
96 }
+
97 
+
98 
+
99 $(document).ready(function() {
+
100  $('.code,.codeRef').each(function() {
+
101  $(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
+
102  $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });
+
103  });
+
104 });
+
+ + + + diff --git a/API-html/examples.html b/API-html/examples.html new file mode 100644 index 00000000..1b9d440 --- /dev/null +++ b/API-html/examples.html @@ -0,0 +1,72 @@ + + + + + + +API: Examples + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
Examples
+
+ + + + + diff --git a/API-html/files.html b/API-html/files.html new file mode 100644 index 00000000..8039fb0 --- /dev/null +++ b/API-html/files.html @@ -0,0 +1,104 @@ + + + + + + +API: File List + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  doc
  API-html
 dynsections.js
 jquery.js
  examples
  CompButton
 CompButton.ino
  CompCrop
 CompCrop.ino
  CompHotspot
 CompHotspot.ino
  CompPage
 CompPage.ino
  CompPicture
 CompPicture.ino
  CompPointer
 CompPointer.ino
  CompProgressBar
 CompProgressBar.ino
  CompText
 CompText.ino
 NexButton.cppAPI of NexButton
 NexButton.hAPI of NexButton
 NexCrop.cppAPI of NexCrop
 NexCrop.hAPI of NexCrop
 NexHotspot.cppAPI of NexHotspot
 NexHotspot.hAPI of NexHotspot
 NexPage.cppAPI of NexPage
 NexPage.hAPI of NexPage
 NexPicture.cppAPI of NexPicture
 NexPicture.hAPI of NexPicture
 NexPointer.cpp
 NexPointer.h
 NexProgressBar.cppAPI of NexProgressBar
 NexProgressBar.hAPI of NexProgressBar
 NexSerialConfig.hSerial configure
 NexText.cppAPI of NexText
 NexText.hAPI of NexText
 NexTouch.cppAPI of Nextion
 NexTouch.hAPI of Nextion
+
+
+ + + + diff --git a/API-html/ftv2blank.png b/API-html/ftv2blank.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/API-html/ftv2doc.png b/API-html/ftv2doc.png new file mode 100644 index 0000000000000000000000000000000000000000..da86f46a1f15d8ab5eafb0f17d6256bed3f8538f GIT binary patch literal 745 zcmV`zq%9osu6-S0`qQ=n5Ck)q%K`j=nGd_U9w$sP zVv-PO!I&+Ggjn0I(iu0UaF}QBcd;!a*BQ6&0rTd9&-mFM2$755?MJ&10r(+s0@Ys$=9XQ_`VQM}jdd|uHkXV{GxyomXmWS# zsJDm!eh4J6#Q=TL4s_W>F=<;S42{v(NupN z>0Xzy5e7q&^gm*%ksg?QNdC& b|Cjk4Qq;dC5*K3yIlRXP_j7~>*c z0y0h)3^qoR@#%gt-`<{g?+5>YuW)g_kML&s;m2z!I+;W&qAap3>WeUeD|#&YG)fI(*$72%HLCli z1VB0_L7a1(I!c}K2_s`0>mY)V8UW;_GJ{BL>C92(6$gA3fZmsdouL9|Y5-7>iVV^N zQ=x;dRrGo<*1#qs>zurrH2`Lm0BAJ65Q;Qd=IoLZQm3J902};D02;BFk(^f9=t4kUxARGN_z z$ddvxkSucQZlS16A+D;ADgn-?vFdFyo${PzX|nZP(@Dyacf&4X6gz)L=I2(Twu@)e zW$$yI>v{l?lM=v({`_ZEGzp#b@KUkw*(KRb4AMrHJmH>tL(vETc_{(N@6R>>+?Cw_ df3(^G{sY~>4UY)tr8)or002ovPDHLkV1kkG5rF^z literal 0 HcmV?d00001 diff --git a/API-html/ftv2folderopen.png b/API-html/ftv2folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..563d61368219449705f80cafa7be0c89d259547e GIT binary patch literal 618 zcmV-w0+s!VP)2a2$m;r3j%){Qy*{Ei(&0fdPq;rAz;T`3DRv>z{bRcp1O2^ z0f7)70zs>mA&}OwANM}zRdH-b9q52WQ-cWrr-^?*feipf zc)xonUw`c*Nq|8jF^DA=+BK}qxCQ{66r~B6yff{f<`{6Sl=J1=9$tOusa?T)!=SK5 zCyVNE?`E?wu@#0P0OYXqr5{#^*dzibbBHCFw$Z9PXfb(+w|d!?~)(TajK5`@oh{ebEuQ!F_n+kX^L*Mf~{MvjFX&$XWRQBsX@?i(54c# z`ATRJf-^S3flp|X1HYa+VfZxn?#Cf+FE%nx3VZN7N?;D9YIQM5)-Jg5%7Ge7>V=`^ zwcCja*!Hg@3EN6na}W4ooh;IchOzV_Qvm=lhFlLepMH{8{3`7XL+uhh&Fh#YOXC&$?o<djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/API-html/ftv2link.png b/API-html/ftv2link.png new file mode 100644 index 0000000000000000000000000000000000000000..da86f46a1f15d8ab5eafb0f17d6256bed3f8538f GIT binary patch literal 745 zcmV`zq%9osu6-S0`qQ=n5Ck)q%K`j=nGd_U9w$sP zVv-PO!I&+Ggjn0I(iu0UaF}QBcd;!a*BQ6&0rTd9&-mFM2$755?MJ&10r(+s0@Ys$=9XQ_`VQM}jdd|uHkXV{GxyomXmWS# zsJDm!eh4J6#Q=TL4s_W>F=<;S42{v(NupN z>0Xzy5e7q&^gm*%ksg?QNdC& b|Cjk4Qq;d3~o!XZc{isSSI)g@G5Fm)t^8*qdQ90`U5(F?Q(fCIE1O;|qM4(yD8ii#%x zn{Q?(`~I7Mcl}Y`87i&`FkOVV(Uw4AFXxm*F!^ vp+;4ZuFr{aas@S-A5w09f)3~o!XZc{isSSI)g@G5Fm)t^8*qdQ90`U5(F?Q(fCIE1O;|qM4(yD8ii#%x zn{Q?(`~I7Mcl}Y`87i&`FkOVV(Uw4AFXxm*F!^ vp+;4ZuFr{aas@S-A5w09f)djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/API-html/ftv2plastnode.png b/API-html/ftv2plastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..c56911a14b88167e6544278c0ada445de20e7e6e GIT binary patch literal 228 zcmV00000000-{AmhX=Jf(#6dOr9=|Ar*{o?;3hB2a32o zG+s9GfQX>ZoyHXAZJbV7*@~_ku4yUkU=TNGk`{<*NeJ5AcuS9TQlP3%cqy~hns(&{IaIR)}HBvx~GE*si@Q=|7(@?e)IZjt*#^^ z9sTpCC)d3%tBDHfPOCDk`1wO}p6vDb{dfQ03cS7T_RoJiqu*xk{FEUi;7JBze<5GL X-S#~5u4$RTKwbP0l+XkKB!6Zv literal 0 HcmV?d00001 diff --git a/API-html/ftv2vertline.png b/API-html/ftv2vertline.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/API-html/functions.html b/API-html/functions.html new file mode 100644 index 00000000..5c5f2ec --- /dev/null +++ b/API-html/functions.html @@ -0,0 +1,209 @@ + + + + + + +API: Class Members + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+ + +

- d -

+ + +

- g -

+ + +

- m -

+ + +

- n -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+
+ + + + diff --git a/API-html/functions_func.html b/API-html/functions_func.html new file mode 100644 index 00000000..a35f5e1 --- /dev/null +++ b/API-html/functions_func.html @@ -0,0 +1,209 @@ + + + + + + +API: Class Members - Functions + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + + +
+
+  + +

- a -

+ + +

- d -

+ + +

- g -

+ + +

- m -

+ + +

- n -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+
+ + + + diff --git a/API-html/globals.html b/API-html/globals.html new file mode 100644 index 00000000..3ff6696 --- /dev/null +++ b/API-html/globals.html @@ -0,0 +1,112 @@ + + + + + + +API: File Members + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
Here is a list of all documented file members with links to the documentation:
+
+ + + + diff --git a/API-html/globals_func.html b/API-html/globals_func.html new file mode 100644 index 00000000..5934758 --- /dev/null +++ b/API-html/globals_func.html @@ -0,0 +1,112 @@ + + + + + + +API: File Members + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + + +
+
+
+ + + + diff --git a/API-html/hierarchy.html b/API-html/hierarchy.html new file mode 100644 index 00000000..0d2c37d --- /dev/null +++ b/API-html/hierarchy.html @@ -0,0 +1,75 @@ + + + + + + +API: Class Hierarchy + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 12]
+ + + + + + + + + +
 CNexTouchRoot Class of Nextion Components
 CNexButtonNexButton,subclass of NexTouch,provides simple methods to control button component
 CNexCropNexCrop,subclass of NexTouch,provides simple methods to control crop component
 CNexHotspotNexHotspot,subclass of NexTouch,provides simple methods to control hotspot component
 CNexPageNexPage,subclass of NexTouch,provides simple methods to control page component
 CNexPictureNexPicture,subclass of NexTouch,provides simple methods to control picture component
 CNexPointerNexPointer,subclass of NexTouch,provides simple methods to control pointer component
 CNexProgressBarNexProgressBar,subclass of NexTouch,provides simple methods to control progress bar component
 CNexTextNexText,subclass of NexTouch,provides simple methods to control text component
+
+
+ + + + diff --git a/API-html/index.hhc b/API-html/index.hhc new file mode 100644 index 00000000..038117e --- /dev/null +++ b/API-html/index.hhc @@ -0,0 +1,290 @@ + + + + + +
    +
  • +
  • +
      +
    • +
        +
      • +
          +
        • +
        • +
        • +
        • +
        • +
        +
      • +
          +
        • +
        • +
        • +
        +
      • +
          +
        • +
        • +
        • +
        • +
        • +
        +
      • +
          +
        • +
        • +
        • +
        • +
        +
      • +
          +
        • +
        • +
        • +
        • +
        • +
        +
      • +
          +
        • +
        • +
        • +
        +
      • +
          +
        • +
        • +
        • +
        +
      • +
          +
        • +
        • +
        • +
        • +
        • +
        +
      • +
          +
        • +
        • +
        • +
        • +
        • +
        +
      +
    • +
    • +
        +
      • +
          +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        +
      +
    • +
        +
      • +
      • +
      +
    +
  • +
      +
    • +
        +
      • +
          +
        • +
            +
          • +
          • +
          +
        +
      • +
          +
        • +
            +
          • +
          +
        • +
            +
          • +
          +
        • +
            +
          • +
          +
        • +
            +
          • +
          +
        • +
            +
          • +
          +
        • +
            +
          • +
          +
        • +
            +
          • +
          +
        • +
            +
          • +
          +
        +
      • +
      • +
          +
        • +
            +
          • +
          • +
          • +
          • +
          • +
          +
        +
      • +
      • +
          +
        • +
            +
          • +
          • +
          • +
          +
        +
      • +
      • +
          +
        • +
            +
          • +
          • +
          • +
          • +
          • +
          +
        +
      • +
      • +
          +
        • +
            +
          • +
          • +
          • +
          • +
          +
        +
      • +
      • +
          +
        • +
            +
          • +
          • +
          • +
          • +
          • +
          +
        +
      • +
      • +
      • +
      • +
          +
        • +
            +
          • +
          • +
          • +
          +
        +
      • +
          +
        +
      • +
      • +
          +
        • +
            +
          • +
          • +
          • +
          • +
          • +
          +
        +
      • +
          +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        +
      • +
          +
        • +
            +
          • +
          • +
          • +
          • +
          • +
          +
            +
          +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        • +
        +
      +
    • +
        +
      • +
      • +
      +
    +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
+ + diff --git a/API-html/index.hhk b/API-html/index.hhk new file mode 100644 index 00000000..21f9f4b --- /dev/null +++ b/API-html/index.hhk @@ -0,0 +1,223 @@ + + + + + +
    +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • +
  • +
      +
    • +
    • +
    +
  • +
  • +
  • +
  • +
  • +
      +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
  • +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
  • +
      +
    • +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    +
  • +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
  • +
  • +
  • +
      +
    • +
    • +
    +
  • +
  • +
  • +
  • +
  • +
      +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
  • +
  • +
      +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
  • +
  • +
      +
    • +
    • +
    +
  • +
      +
    • +
    • +
    +
+ + diff --git a/API-html/index.hhp b/API-html/index.hhp new file mode 100644 index 00000000..eab790b --- /dev/null +++ b/API-html/index.hhp @@ -0,0 +1,147 @@ +[OPTIONS] +Compiled file=../API.chm +Compatibility=1.1 +Full-text search=Yes +Contents file=index.hhc +Default Window=main +Default topic=index.html +Index file=index.hhk +Language=0x409 English (United States) +Title=API + +[WINDOWS] +main="API","index.hhc","index.hhk","index.html","index.html",,,,,0x23520,,0x10387e,,,,,,,,0 + +[FILES] +_comp_button_8ino-example.html +_comp_crop_8ino-example.html +_comp_hotspot_8ino-example.html +_comp_page_8ino-example.html +_comp_picture_8ino-example.html +_comp_pointer_8ino-example.html +_comp_progress_bar_8ino-example.html +_comp_text_8ino-example.html +dynsections_8js_source.html +jquery_8js_source.html +_comp_button_8ino_source.html +_comp_crop_8ino_source.html +_comp_hotspot_8ino_source.html +_comp_page_8ino_source.html +_comp_picture_8ino_source.html +_comp_pointer_8ino_source.html +_comp_progress_bar_8ino_source.html +_comp_text_8ino_source.html +_nex_button_8cpp_source.html +_nex_button_8h_source.html +_nex_crop_8cpp_source.html +_nex_crop_8h_source.html +_nex_hotspot_8cpp_source.html +_nex_hotspot_8h_source.html +_nex_page_8cpp_source.html +_nex_page_8h_source.html +_nex_picture_8cpp_source.html +_nex_picture_8h_source.html +_nex_pointer_8cpp_source.html +_nex_pointer_8h_source.html +_nex_progress_bar_8cpp_source.html +_nex_progress_bar_8h_source.html +_nex_serial_config_8h_source.html +_nex_text_8cpp_source.html +_nex_text_8h_source.html +_nex_touch_8cpp_source.html +_nex_touch_8h_source.html +readme_8md_source.html +_nex_button_8cpp.html +_nex_button_8h.html +_nex_crop_8cpp.html +_nex_crop_8h.html +_nex_hotspot_8cpp.html +_nex_hotspot_8h.html +_nex_page_8cpp.html +_nex_page_8h.html +_nex_picture_8cpp.html +_nex_picture_8h.html +_nex_progress_bar_8cpp.html +_nex_progress_bar_8h.html +_nex_serial_config_8h.html +_nex_text_8cpp.html +_nex_text_8h.html +_nex_touch_8cpp.html +_nex_touch_8h.html +md_readme.html +class_nex_button.html +class_nex_button-members.html +class_nex_crop.html +class_nex_crop-members.html +class_nex_hotspot.html +class_nex_hotspot-members.html +class_nex_page.html +class_nex_page-members.html +class_nex_picture.html +class_nex_picture-members.html +class_nex_pointer.html +class_nex_pointer-members.html +class_nex_progress_bar.html +class_nex_progress_bar-members.html +class_nex_text.html +class_nex_text-members.html +class_nex_touch.html +class_nex_touch-members.html +dir_a78b6b3fb4e2d95968f70c807a3ce800.html +dir_9bbf8342b0f9a157b7af08fe1412fc17.html +dir_8dcbebf38b229bfa7bb34d68bf824093.html +dir_f3d39c87bc262720c50d5e3885667b8a.html +dir_f76977d9ffe8ddf3ad01f3d689aa5df4.html +dir_ce36ac18ad3deaf5eae0bd2e09775a7d.html +dir_376a8598cfd3d58455c161124a3e8051.html +dir_7962cac16a99e8bbaaea18abede03fcb.html +dir_c918e8bf3fc71f849978cdb0d900e61c.html +dir_e68e8157741866f444e17edd764ebbae.html +dir_d28a4824dc47e487b107a5db32ef43c4.html +index.html +pages.html +annotated.html +classes.html +hierarchy.html +functions.html +functions_func.html +files.html +globals.html +globals_func.html +examples.html +tab_a.png +tab_b.png +tab_h.png +tab_s.png +nav_h.png +nav_f.png +bc_s.png +doxygen.png +closed.png +open.png +bdwn.png +sync_on.png +sync_off.png +ITEAD-logo.JPG +ftv2blank.png +ftv2doc.png +ftv2folderclosed.png +ftv2folderopen.png +ftv2lastnode.png +ftv2link.png +ftv2mlastnode.png +ftv2mnode.png +ftv2node.png +ftv2plastnode.png +ftv2pnode.png +ftv2vertline.png +ftv2splitbar.png +class_nex_button.png +class_nex_crop.png +class_nex_hotspot.png +class_nex_page.png +class_nex_picture.png +class_nex_pointer.png +class_nex_progress_bar.png +class_nex_text.png +class_nex_touch.png diff --git a/API-html/index.html b/API-html/index.html new file mode 100644 index 00000000..fedea50 --- /dev/null +++ b/API-html/index.html @@ -0,0 +1,86 @@ + + + + + + +API: Main Page + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
API Documentation
+
+
+

Nextion Library for Arduino

+

Nextion Arduino library provides an easy-to-use way to manipulate Nextion serial displays. Users can use the libarry freely, either in commerical projects or open-source prjects, without any additional condiitons.

+

For more information about the Nextion display project, please visit the wiki。 The wiki provdies all the necessary technical documnets, quick start guide, tutorials, demos, as well as some useful resources.

+

To get your Nextion display, please visit iMall.

+

To discuss the project? Request new features? Report a BUG? please visit the Forums

+

​

Source

+

Latest source code can be download at https://github.com/itead/ITEADLIB_Arduino_Nextion.

+

You can clone it by:

git clone https://github.com/itead/ITEADLIB_Arduino_Nextion
+

Documentation

+

Online API documentation can be reached at http://docs.iteadstudio.com/ITEADLIB_Arduino_Nextion/.

+

Offline API documentation can be found under directory doc.

+

Hareware requirement

+
    +
  • RAM: not less than 2KBytes
  • +
  • Serial: two serial (communication and debug)
  • +
+

Serial configuration

+

If you want to change the default serial to debug or communicate with Nextion ,you need to modify the line in file NexSerialConfig.h:

#define dbSerial Serial    ---> #define dbSerial Serialxxx
+#define nexSerial Serial2  ---> #define dbSerial Serialxxx
+

If you want to close the debug information,you need to modify the line in file NexSerialConfig.h:

#define DEBUG_SERIAL_ENABLE ---> //#define DEBUG_SERIAL_ENABLE
+

Suppported Mainboards:

+
    +
  • Iteaduino MEGA2560
  • +
  • Arduino MEGA2560
    +
  • +
+

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004

+

Copyright (C) 2014 ITEAD Studio

+

Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.

   DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
+

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

+

0. You just DO WHAT THE FUCK YOU WANT TO.

+
+
+ + + + diff --git a/API-html/jquery.js b/API-html/jquery.js new file mode 100644 index 00000000..6aa2e4c --- /dev/null +++ b/API-html/jquery.js @@ -0,0 +1,39 @@ +/*! + * 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); +/*! + PowerTip - v1.2.0 - 2013-04-03 + http://stevenbenner.github.com/jquery-powertip/ + Copyright (c) 2013 Steven Benner (http://stevenbenner.com/). + Released under MIT license. + https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt +*/ +(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.topI||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.leftF){H|=p.left}if(M.left+L>F||M.right + + + + + +API: doc/API-html/jquery.js Source File + + + + + + +
+
+
+ + + + + + +
+
API +
+
For Arduino developers
+
+ + + + + + + +
+
+
jquery.js
+
+
+
1 
+
16 (function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))
+
17 }else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;
+
18 if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false
+
19 }b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
+
26 (function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1
+
27 },lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);
+
28 ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;
+
29 if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)
+
30 }}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b
+
31 })}})(window);
+
39 (function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case"n":N.set("left",I.left-(J/2));N.set("bottom",c.windowHeight-I.top+P);break;case"e":N.set("left",I.left+P);N.set("top",I.top-(O/2));break;case"s":N.set("left",I.left-(J/2));N.set("top",I.top+P);break;case"w":N.set("top",I.top-(O/2));N.set("right",c.windowWidth-I.left+P);break;case"nw":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"nw-alt":N.set("left",I.left);N.set("bottom",c.windowHeight-I.top+P);break;case"ne":N.set("left",I.left-20);N.set("bottom",c.windowHeight-I.top+P);break;case"ne-alt":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left);break;case"sw":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"sw-alt":N.set("left",I.left);N.set("top",I.top+P);break;case"se":N.set("left",I.left-20);N.set("top",I.top+P);break;case"se-alt":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case"n":M=O.left+N/2;L=O.top;break;case"e":M=O.left+N;L=O.top+I/2;break;case"s":M=O.left+N/2;L=O.top+I;break;case"w":M=O.left;L=O.top+I/2;break;case"nw":M=O.left;L=O.top;break;case"ne":M=O.left+N;L=O.top;break;case"sw":M=O.left;L=O.top+I;break;case"se":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest("svg")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=["nw","n","ne","e","se","s","sw","w"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<div/>",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}}));
+
+ + + + diff --git a/API-html/md_readme.html b/API-html/md_readme.html new file mode 100644 index 00000000..f3d8ed9 --- /dev/null +++ b/API-html/md_readme.html @@ -0,0 +1,54 @@ + + + + + + +API: readme + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
readme
+
+
+
+ + + + diff --git a/API-html/nav_f.png b/API-html/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..86c145d092c6e939d59c415d28cebba36797921e GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQt_THjv*C{Z|??jwJHd-KD@a3 zR-BiP?(vIdvR?#JD&_M6F9_My@tt|oIIWaBCuW#Gsd+fdU|9$&?+43w!W!{PVRspSI@O1TaS?83{1OSzS BH4p#* literal 0 HcmV?d00001 diff --git a/API-html/nav_g.png b/API-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{tfNGAIZf;yCwv w>D=AQ=}#pb4vBbeN|RUKnY!TRzqmU2UB^DNbZ9MZDF*5CboFyt=akR{0Fjv;umAu6 literal 0 HcmV?d00001 diff --git a/API-html/open.png b/API-html/open.png new file mode 100644 index 0000000000000000000000000000000000000000..6297c0cd73908dd3730d5f44e62f7a81c2128830 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaGmGU z-Z=*=t(vQMb|fi^ue7YL`QT}%qI}@~mcJJID~{Z#YSuq*XLKO?TzY1xj{cguJ&X&E W@Ytk2J*EgWjlt8^&t;ucLK6U%kSYEE literal 0 HcmV?d00001 diff --git a/API-html/pages.html b/API-html/pages.html new file mode 100644 index 00000000..2b0dbeb --- /dev/null +++ b/API-html/pages.html @@ -0,0 +1,59 @@ + + + + + + +API: Related Pages + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + +
+
+
+
Related Pages
+
+
+
Here is a list of all related documentation pages:
+ + +
 readme
+
+
+ + + + diff --git a/API-html/readme_8md_source.html b/API-html/readme_8md_source.html new file mode 100644 index 00000000..0e170f7 --- /dev/null +++ b/API-html/readme_8md_source.html @@ -0,0 +1,128 @@ + + + + + + +API: readme.md Source File + + + + + + +
+
+ + + + + + + +
+
API +
+
For Arduino developers
+
+
+ + + + +
+
+
+
readme.md
+
+
+
1 @mainpage
+
2 
+
3 # Nextion Library for Arduino
+
4 
+
5 Nextion Arduino library provides an easy-to-use way to manipulate Nextion serial displays.
+
6 Users can use the libarry freely, either in commerical projects or open-source prjects, without any additional condiitons.
+
7 
+
8 For more information about the Nextion display project, please visit [the wiki。](http://wiki.iteadstudio.com/Nextion_HMI_Solution)
+
9 The wiki provdies all the necessary technical documnets, quick start guide, tutorials, demos, as well as some useful resources.
+
10 
+
11 To get your Nextion display, please visit [iMall.](http://imall.itead.cc/display/nextion.html)
+
12 
+
13 To discuss the project? Request new features? Report a BUG? please visit the [Forums](http://support.iteadstudio.com/discussions/1000058038)
+
14 
+
15 â€‹
+
16 # Source
+
17 
+
18 Latest source code can be download at https://github.com/itead/ITEADLIB_Arduino_Nextion.
+
19 
+
20 You can clone it by:
+
21 
+
22  git clone https://github.com/itead/ITEADLIB_Arduino_Nextion
+
23 
+
24 # Documentation
+
25 Online API documentation can be reached at <http://docs.iteadstudio.com/ITEADLIB_Arduino_Nextion/>.
+
26 
+
27 Offline API documentation can be found under directory
+
28 [doc](https://github.com/itead/ITEADLIB_Arduino_Nextion/tree/master/doc).
+
29 
+
30 # Hareware requirement
+
31 
+
32  - RAM: not less than 2KBytes
+
33  - Serial: two serial (communication and debug)
+
34 
+
35 # Serial configuration
+
36 
+
37 If you want to change the default serial to debug or communicate with Nextion ,you need to modify the line in file NexSerialConfig.h:
+
38 
+
39  #define dbSerial Serial ---> #define dbSerial Serialxxx
+
40  #define nexSerial Serial2 ---> #define dbSerial Serialxxx
+
41 If you want to close the debug information,you need to modify the line in file NexSerialConfig.h:
+
42 
+
43  #define DEBUG_SERIAL_ENABLE ---> //#define DEBUG_SERIAL_ENABLE
+
44 # Suppported Mainboards:
+
45 
+
46  - Iteaduino MEGA2560
+
47  - Arduino MEGA2560
+
48 
+
49 -------------------------------------------------------------------------------
+
50 
+
51 
+
52  DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+
53  Version 2, December 2004
+
54 
+
55  Copyright (C) 2014 ITEAD Studio
+
56 
+
57  Everyone is permitted to copy and distribute verbatim or modified
+
58  copies of this license document, and changing it is allowed as long
+
59  as the name is changed.
+
60 
+
61  DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+
62 
+
63  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
64 
+
65  0. You just DO WHAT THE FUCK YOU WANT TO.
+
66 
+
67 
+
68 -------------------------------------------------------------------------------
+
+ + + + diff --git a/API-html/sync_off.png b/API-html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..f168259fe978dea8e0b61548a34ecd716eebf351 GIT binary patch literal 837 zcmV-L1G@Z)P)LI3>Ope*%u0 z0pQXm4vI>EDaaDtVy);A$L)W50ek>%1Pd_EIE{iO&PQwppP%xqb#e+_Qs8u04a^e$5~jJ#h%qMX6N|< z+%{=|CH6Ztu}r>MQ$k&75MW9w3Ipt372}=q5a6io8lb_tYN^iQD|z!+c-F)djTIq2 zY${;$qQV5LbS*68{kq)bw~|r!v=*~&L7pRZH9)bpK3ZJF$4iRHbj_!ZXyyD|I_8C$ z6G=|PirO$uZ|fRM7N6HcXG1<;ERPOZA6t9#Btm7sIsJE?e~|dKj|9Li9Q4NRTg7AT zfA6J-Y^cu{jv+Ge)L`hDAz78Yrz83G(SL;eUdr;FANTSvPdRdPu*AH4rkmYqX>?i- z=&-w+3&}C_|HO|&T)6))z$DetOum(b&=NPsIeBZCzMr4iAGxOiwo0SdnH7FMT^6Cd zz|Wc6!<_B^2VfG-w68m2iBTT9KFCiGo&%2Bs{yK|aYs0EEIZ(1>$^q#{&)Pf0W@oR zuMIFbVgR@`TIYdoauXZWL{`XZ&I|dB$D>Bd4A5_2ynwM6;{a|~^{}!6ye01HA_kZN zW99 P00000NkvXXu0mjf`Hq^$ literal 0 HcmV?d00001 diff --git a/API-html/sync_on.png b/API-html/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..76e6eed4936b1b13c12079ffe7318cf09f9325cc GIT binary patch literal 832 zcmV-G1Hb%3(>86BCbHVqUf7N)6)m;HRYy_dHa{kcy>M6=o!}-+ilQi3MG(ed z7ei3+VneChjUb2@!ceiouor$XbVFn^b}_1L)qZTG#_01TIn6m|C#AaHzPvw@^TGR^ z=l#4jI#2xpP{>@dN-PtLMO=8rptvKhi_79ZfE%MgfT%biw&wl=6fz-x6vxCvz*c<# z4y(lp(Eu<5rJ`GWB6`Fb>q8G7y7?T0LqI!_&i3^x)=Q}zm4XN&5J9A zJ=Mo!DMtQD$*js=r)A7b{2u03+6VXN-^Tdimtj)+Lbm*+0e+G{oz@pM{qAMenrh~{ z@5TrhetibyYhx_P5t#^DlBqOj2cB^0-Y8(JceGFXodIqLrQ5B` zu?paHDfeNzrht5P%fMO|iY;Qbh~^Fw4LGi+mAIB`G}GSzPOkt!sHPIL0r_J90000< KMNUMnLSTZsSdT>j literal 0 HcmV?d00001 diff --git a/API-html/tab_a.png b/API-html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..f1dac83932388540a8ae9134260942872ded3c5e GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QbC?Bjv*C{Z|5H5ZE@gXo_kWx z#?LA0;{#vO5a<874u{;D^wvadJZ`!|UVVRRa#Z=B`wP#W@R00VGUejC`BT3?Fj^mX n=R~(`Z0(MX-%o8!x8GaB$dS)f`jb%&WC??(tDnm{r-UW|>%=n; literal 0 HcmV?d00001 diff --git a/API-html/tab_b.png b/API-html/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..23b6b7e0cd02a88e4a45043ceb3922466a84738b GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QpKJwjv*C{Z|6GlF**vkuKvew z*x7ya_8BiD9_J;!X3Zg6ovoU!BVLPHPp_!_|1{od-g@(A#tUXOJkL&&khkH}e0=Bl zk;6xKzMdOfvTbkS?C;A8HtD}k$Z2wP*^!eUAgU0&W>LNGlz)<4np^*@*=;Sp`Xlo{ X4XN|WCl=)bt!MCb^>bP0l+XkKry@g4 literal 0 HcmV?d00001 diff --git a/API-html/tab_h.png b/API-html/tab_h.png new file mode 100644 index 0000000000000000000000000000000000000000..d38741b0d6ccab400bc483fc1c309756a4329b8a GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qq`U=jv*C{Z}0l@F(wMMJbblE zKrAmQ^({-1fs@)sqqIM7TvC1&%PudJD!=e~=ZVQxyZsx#KR#LZ;g)$)8R!fKPgg&ebxsLQ0Gd!syZ`_I literal 0 HcmV?d00001 diff --git a/API-html/tab_s.png b/API-html/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..6d9d4fa4bfd2d9b552c50dd00374890ee79bac97 GIT binary patch literal 195 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
fEUp<qAhx=Cu$S{Af`EqmaTT5_jX~?sM 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

^4WrL43sL++>L-*_K=!H^7ZY| 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

Gz*-mi3AZ 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

    <-EKQe=}M44Ex|n; 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�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 LMB?5{!svEkB*K(XmvEPLEreLu+)5Du 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 z%0A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 JK>