diff --git a/doc/doxygen/html/bc_s.png b/doc/doxygen/html/bc_s.png deleted file mode 100644 index e401862..0000000 Binary files a/doc/doxygen/html/bc_s.png and /dev/null differ diff --git a/doc/doxygen/html/clcc_8c.html b/doc/doxygen/html/clcc_8c.html deleted file mode 100644 index f36f885..0000000 --- a/doc/doxygen/html/clcc_8c.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: clcc.c File Reference - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - -
-
-
-Functions
-
-
clcc.c File Reference
-
-
-
#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <usb.h>
-#include <argtable2.h>
-#include "../firmware/globals.h"
-
-Include dependency graph for clcc.c:
-
-
- - -
-
- - - - - - - - - - - -

-Functions

void lc_setFrame (unsigned long)
 The setFrame function.
void lc_setMode (int)
 The setMode function.
void lc_saveFrame (unsigned long, int)
void lc_init (void)
 The init function.
void lc_close (void)
 The close function.
int main (int argc, char **argv)
-

Function Documentation

- -
-
- - - - - - - -
void lc_close ()
-
-
- -

The close function.

-
Returns:
NOT_CONNECTED_ERROR or return state of the usb_close function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    return usb_close(_lc_handle);
-
-}
-
-
-
- -
-
- - - - - - - -
void lc_init ()
-
-
- -

The init function.

-
Returns:
SUCCESSFULLY_CONNECTED or DEVICE_NOT_FOUND_ERROR.
-
{
-
-    usb_init();
-
-    /* compute lc_vid/lc_pid from usbconfig.h so that there is a central source of information */
-    _lc_vid = _lc_rawVid[1] * 256 + _lc_rawVid[0];
-    _lc_pid = _lc_rawPid[1] * 256 + _lc_rawPid[0];
-
-    /* The following function is in opendevice.c: */
-    if( usbOpenDevice( &_lc_handle, _lc_vid, _lc_vendor, _lc_pid, _lc_product, NULL, NULL, NULL) != 0)
-    {
-        fprintf(stderr, "Could not find USB device \"%s\" with lc_vid=0x%x lc_pid=0x%x\n", _lc_product, _lc_vid, _lc_pid);
-        return DEVICE_NOT_FOUND_ERROR;
-    }
-    return SUCCESSFULLY_CONNECTED;
-}
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
void lc_saveFrame (unsigned long,
int  
)
-
-
- -
-
- -
-
- - - - - - - - -
void lc_setFrame (unsigned long frame)
-
-
- -

The setFrame function.

-
Parameters:
- - -
frameThe 32bit frame data. Bit 0-8 equals layer one; bit 9 - 17 euqals layer two; bit 18 - 26 equals layer three. the 5 MSB is the lifetime of the current frame in ISR calls (300Hz).
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    int low  =  frame & 0xffff;
-    int high = (frame & 0xffff0000) >> 16;
-
-    int ret = usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_FRAME,  low, 0, _lc_buffer, 0, 300);
-    ret += usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_FRAME, high, 1, _lc_buffer, 0, 300);
-
-    return ret;
-}
-
-
-
- -
-
- - - - - - - - -
void lc_setMode (int mode)
-
-
- -

The setMode function.

-
Parameters:
- - -
modeThe firmware mode. MODE_ANIMATION_STOP; MODE_ANIMATION_SINGLE; MODE_ANIMATION_LOOP
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    return usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_MODE, mode, 0, _lc_buffer, 0, 300);
-}
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
int main (int argc,
char ** argv 
)
-
-
-
{
-
-    lc_init();
-
-    // TODO parse commandline parameters
-
-    lc_close();
-
-    return 0;
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
-
- -
- All Files Functions Variables Defines
- - -
- -
- - - - diff --git a/doc/doxygen/html/clcc_8c__incl.md5 b/doc/doxygen/html/clcc_8c__incl.md5 deleted file mode 100644 index d2687b5..0000000 --- a/doc/doxygen/html/clcc_8c__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ec6efcf703345e4a7b2e81c0d322cce7 \ No newline at end of file diff --git a/doc/doxygen/html/clcc_8c__incl.png b/doc/doxygen/html/clcc_8c__incl.png deleted file mode 100644 index e81e5cb..0000000 Binary files a/doc/doxygen/html/clcc_8c__incl.png and /dev/null differ diff --git a/doc/doxygen/html/clcc_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/doc/doxygen/html/clcc_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index 83f6d05..0000000 --- a/doc/doxygen/html/clcc_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f625d452dd4a1c8d216944864be1ac26 \ No newline at end of file diff --git a/doc/doxygen/html/clcc_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.png b/doc/doxygen/html/clcc_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.png deleted file mode 100644 index ae327fb..0000000 Binary files a/doc/doxygen/html/clcc_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/closed.png b/doc/doxygen/html/closed.png deleted file mode 100644 index b7d4bd9..0000000 Binary files a/doc/doxygen/html/closed.png and /dev/null differ diff --git a/doc/doxygen/html/demo_8c.html b/doc/doxygen/html/demo_8c.html deleted file mode 100644 index 30871c5..0000000 --- a/doc/doxygen/html/demo_8c.html +++ /dev/null @@ -1,493 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: demo.c File Reference - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - -
-
-
-Functions
-
-
demo.c File Reference
-
-
-
#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <usb.h>
-#include "../firmware/globals.h"
-
-Include dependency graph for demo.c:
-
-
- - -
-
- - - - - - - - - - - - - - -

-Functions

void lc_setFrame (unsigned long)
 The setFrame function.
void lc_setMode (int)
 The setMode function.
void lc_saveFrame (unsigned long, int)
void lc_init (void)
 The init function.
void lc_close (void)
 The close function.
void eeprom1 ()
void sinus1 (int max)
void demo ()
int main (int argc, char **argv)
-

Function Documentation

- -
-
- - - - - - - -
void demo ()
-
-
-
{
-    // stop animation
-    lc_setMode(MODE_ANIMATION_STOP);
-
-    //clear cube
-    lc_setFrame(0);
-
-    sleep(1);
-
-    // transfer one frame
-    lc_setFrame(0x06127348);
-
-    sleep(1);
-
-    // another frame
-    lc_setFrame(0x07007007);
-
-    sleep(1);
-
-    // switch all led on
-    lc_setFrame(0x07ffffff);
-
-    sleep(1);
-
-    // save animation to eeprom and animate for 60 seconds
-    //eeprom1();
-
-    //sleep(10);
-
-    // animate with a sinus wave
-    sinus1(25);
-
-    // start animation one time
-    lc_setMode(MODE_ANIMATION_SINGLE);
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
- -
-
- - - - - - - -
void eeprom1 ()
-
-
-
{
-
-    // lc_set animation stop
-    lc_setMode(MODE_ANIMATION_STOP);
-
-    unsigned long buf = 0;
-    int tmp = 0;
-    int tmp2 = 26;
-    for (tmp = 0; tmp < 32; tmp++)
-    {
-        if (tmp < 27)
-            buf = (1 << tmp);
-        else
-        {
-            tmp2--;
-            buf = (1 << tmp2);
-        }
-
-        // save to position tmp
-        lc_saveFrame(buf, tmp);
-
-    }
-    //
-    // lc_set mode to animate endless loop
-    lc_setMode(MODE_ANIMATION_LOOP);
-
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
- -
-
- - - - - - - -
void lc_close ()
-
-
- -

The close function.

-
Returns:
NOT_CONNECTED_ERROR or return state of the usb_close function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    return usb_close(_lc_handle);
-
-}
-
-
-
- -
-
- - - - - - - -
void lc_init ()
-
-
- -

The init function.

-
Returns:
SUCCESSFULLY_CONNECTED or DEVICE_NOT_FOUND_ERROR.
-
{
-
-    usb_init();
-
-    /* compute lc_vid/lc_pid from usbconfig.h so that there is a central source of information */
-    _lc_vid = _lc_rawVid[1] * 256 + _lc_rawVid[0];
-    _lc_pid = _lc_rawPid[1] * 256 + _lc_rawPid[0];
-
-    /* The following function is in opendevice.c: */
-    if( usbOpenDevice( &_lc_handle, _lc_vid, _lc_vendor, _lc_pid, _lc_product, NULL, NULL, NULL) != 0)
-    {
-        fprintf(stderr, "Could not find USB device \"%s\" with lc_vid=0x%x lc_pid=0x%x\n", _lc_product, _lc_vid, _lc_pid);
-        return DEVICE_NOT_FOUND_ERROR;
-    }
-    return SUCCESSFULLY_CONNECTED;
-}
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
void lc_saveFrame (unsigned long,
int  
)
-
-
- -
-
- -
-
- - - - - - - - -
void lc_setFrame (unsigned long frame)
-
-
- -

The setFrame function.

-
Parameters:
- - -
frameThe 32bit frame data. Bit 0-8 equals layer one; bit 9 - 17 euqals layer two; bit 18 - 26 equals layer three. the 5 MSB is the lifetime of the current frame in ISR calls (300Hz).
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    int low  =  frame & 0xffff;
-    int high = (frame & 0xffff0000) >> 16;
-
-    int ret = usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_FRAME,  low, 0, _lc_buffer, 0, 300);
-    ret += usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_FRAME, high, 1, _lc_buffer, 0, 300);
-
-    return ret;
-}
-
-
-
- -
-
- - - - - - - - -
void lc_setMode (int mode)
-
-
- -

The setMode function.

-
Parameters:
- - -
modeThe firmware mode. MODE_ANIMATION_STOP; MODE_ANIMATION_SINGLE; MODE_ANIMATION_LOOP
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    return usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_MODE, mode, 0, _lc_buffer, 0, 300);
-}
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
int main (int argc,
char ** argv 
)
-
-
-
{
-
-    lc_init();
-
-    demo();
-
-    lc_setMode(MODE_ANIMATION_LOOP);
-
-    lc_close();
-
-    return 0;
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
- -
-
- - - - - - - - -
void sinus1 (int max)
-
-
-
{
-
-    // lc_set animation stop
-    lc_setMode(MODE_ANIMATION_STOP);
-
-    int j = max;
-    while (--j)
-    {
-
-        int i = 0;
-        int k = 0;
-        //for (i = 0; i < 360; i+=11)
-        for (i = 0; i < 360; i++)
-        {
-            // 2 = 27
-            // 1 = 27 / 2
-            // n = 27 * n / 2
-            double d = cos((double)((6.28*i)/360)) + 1; // 6.28 = PI * 2
-            unsigned long tmp = (1 << (int)((27 * d) / 2));
-
-            // show frame
-            lc_setFrame(tmp);
-            // or save the frame to eeprom
-            //tmp = tmp + (k << 27);
-            //if (k < 32)
-                //lc_saveFrame(tmp, k, k);
-
-            usleep(2500);
-            k++;
-        }
-
-    }
-
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
-
- -
- All Files Functions Variables Defines
- - -
- -
- - - - diff --git a/doc/doxygen/html/demo_8c__incl.md5 b/doc/doxygen/html/demo_8c__incl.md5 deleted file mode 100644 index 8b39ccb..0000000 --- a/doc/doxygen/html/demo_8c__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -24413d163b09b24312173d16b33fc2d6 \ No newline at end of file diff --git a/doc/doxygen/html/demo_8c__incl.png b/doc/doxygen/html/demo_8c__incl.png deleted file mode 100644 index 8391a4e..0000000 Binary files a/doc/doxygen/html/demo_8c__incl.png and /dev/null differ diff --git a/doc/doxygen/html/demo_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/doc/doxygen/html/demo_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index a7114de..0000000 --- a/doc/doxygen/html/demo_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f363a0ec028b6de5cb55fd456f425f2d \ No newline at end of file diff --git a/doc/doxygen/html/demo_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.png b/doc/doxygen/html/demo_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.png deleted file mode 100644 index 2e9dc39..0000000 Binary files a/doc/doxygen/html/demo_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/demo_8c_a638f8457f4676ae31f332f031af1628a_cgraph.md5 b/doc/doxygen/html/demo_8c_a638f8457f4676ae31f332f031af1628a_cgraph.md5 deleted file mode 100644 index 7e381f2..0000000 --- a/doc/doxygen/html/demo_8c_a638f8457f4676ae31f332f031af1628a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -36663d07d34d4e99932472853e7d9e26 \ No newline at end of file diff --git a/doc/doxygen/html/demo_8c_a638f8457f4676ae31f332f031af1628a_cgraph.png b/doc/doxygen/html/demo_8c_a638f8457f4676ae31f332f031af1628a_cgraph.png deleted file mode 100644 index b17ad4d..0000000 Binary files a/doc/doxygen/html/demo_8c_a638f8457f4676ae31f332f031af1628a_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/demo_8c_ac474183ee901f1980a9963e75699b6a1_cgraph.md5 b/doc/doxygen/html/demo_8c_ac474183ee901f1980a9963e75699b6a1_cgraph.md5 deleted file mode 100644 index d69c0d1..0000000 --- a/doc/doxygen/html/demo_8c_ac474183ee901f1980a9963e75699b6a1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e9d0f84ee5bfb0fb0e72f87402da1a4e \ No newline at end of file diff --git a/doc/doxygen/html/demo_8c_ac474183ee901f1980a9963e75699b6a1_cgraph.png b/doc/doxygen/html/demo_8c_ac474183ee901f1980a9963e75699b6a1_cgraph.png deleted file mode 100644 index f9f9ef3..0000000 Binary files a/doc/doxygen/html/demo_8c_ac474183ee901f1980a9963e75699b6a1_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/demo_8c_ad06b2f63f5dd622044fe96d96bfe0859_cgraph.md5 b/doc/doxygen/html/demo_8c_ad06b2f63f5dd622044fe96d96bfe0859_cgraph.md5 deleted file mode 100644 index 8466824..0000000 --- a/doc/doxygen/html/demo_8c_ad06b2f63f5dd622044fe96d96bfe0859_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d23244c2e3a989fcf10edb4af7f4f051 \ No newline at end of file diff --git a/doc/doxygen/html/demo_8c_ad06b2f63f5dd622044fe96d96bfe0859_cgraph.png b/doc/doxygen/html/demo_8c_ad06b2f63f5dd622044fe96d96bfe0859_cgraph.png deleted file mode 100644 index 78a934a..0000000 Binary files a/doc/doxygen/html/demo_8c_ad06b2f63f5dd622044fe96d96bfe0859_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/doxygen.css b/doc/doxygen/html/doxygen.css deleted file mode 100644 index 74445fe..0000000 --- a/doc/doxygen/html/doxygen.css +++ /dev/null @@ -1,835 +0,0 @@ -/* The standard CSS for doxygen */ - -body, table, div, p, dl { - font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; - font-size: 12px; -} - -/* @group Heading Levels */ - -h1 { - font-size: 150%; -} - -.title { - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2 { - font-size: 120%; -} - -h3 { - font-size: 100%; -} - -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, p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code { - color: #4665A2; -} - -a.codeRef { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -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%; -} - -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: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 10px; - margin-right: 5px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #C4CFE5; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; -} - -.memname { - white-space: nowrap; - font-weight: bold; - margin-left: 6px; -} - -.memproto { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 8px; - border-top-left-radius: 8px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 8px; - -moz-border-radius-topleft: 8px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 8px; - -webkit-border-top-left-radius: 8px; - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - -} - -.memdoc { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 2px 5px; - background-color: #FBFCFD; - border-top-width: 0; - /* opera specific markup */ - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 8px; - -webkit-border-bottom-right-radius: 8px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} - -.params, .retval, .exception, .tparams { - border-spacing: 6px 2px; -} - -.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; -} - - - - -/* @end */ - -/* @group Directory (tree) */ - -/* for the tree view */ - -.ftvtree { - font-family: sans-serif; - margin: 0px; -} - -/* these are for tree view when used as main index */ - -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} - -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -/* -The following two styles can be used to replace the root node title -with an image of your choice. Simply uncomment the next two styles, -specify the name of your image and be sure to set 'height' to the -proper pixel height of your image. -*/ - -/* -.directory h3.swap { - height: 61px; - background-repeat: no-repeat; - background-image: url("yourimage.gif"); -} -.directory h3.swap span { - display: none; -} -*/ - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0px; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0px; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ - -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0px; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0px; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse:collapse; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; -} - -.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; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.ingroups -{ - font-size: 8pt; - padding-left: 5px; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug -{ - border-left:4px solid; - padding: 0 0 0 6px; -} - -dl.note -{ - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - border-color: #00D000; -} - -dl.deprecated -{ - border-color: #505050; -} - -dl.todo -{ - border-color: #00C0E0; -} - -dl.test -{ - border-color: #3030E0; -} - -dl.bug -{ - border-color: #C08050; -} - -#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 #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - diff --git a/doc/doxygen/html/doxygen.png b/doc/doxygen/html/doxygen.png deleted file mode 100644 index 635ed52..0000000 Binary files a/doc/doxygen/html/doxygen.png and /dev/null differ diff --git a/doc/doxygen/html/files.html b/doc/doxygen/html/files.html deleted file mode 100644 index 2328270..0000000 --- a/doc/doxygen/html/files.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: File List - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - -
-
-
-
File List
-
-
-
Here is a list of all files with brief descriptions:
- - - - - - -
clcc.c
demo.c
ledcube.c
ledcube.h [code]
opendevice.c
opendevice.h [code]
-
- -
- All Files Functions Variables Defines
- - -
- -
- - - - diff --git a/doc/doxygen/html/globals.html b/doc/doxygen/html/globals.html deleted file mode 100644 index a3f25f4..0000000 --- a/doc/doxygen/html/globals.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: File Members - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - - - -
-
-
Here is a list of all file members with links to the files they belong to:
- -

- _ -

- - -

- d -

- - -

- e -

- - -

- l -

- - -

- m -

- - -

- n -

- - -

- s -

- - -

- u -

-
- -
- All Files Functions Variables Defines
- - -
- -
- - - - diff --git a/doc/doxygen/html/globals_defs.html b/doc/doxygen/html/globals_defs.html deleted file mode 100644 index f5a3830..0000000 --- a/doc/doxygen/html/globals_defs.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: File Members - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - - -
-
-
- -
- All Files Functions Variables Defines
- - -
- -
- - - - diff --git a/doc/doxygen/html/globals_func.html b/doc/doxygen/html/globals_func.html deleted file mode 100644 index a519e96..0000000 --- a/doc/doxygen/html/globals_func.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: File Members - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - - -
-
-
- -
- All Files Functions Variables Defines
- - -
- -
- - - - diff --git a/doc/doxygen/html/globals_vars.html b/doc/doxygen/html/globals_vars.html deleted file mode 100644 index c806144..0000000 --- a/doc/doxygen/html/globals_vars.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: File Members - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - - -
-
-
- -
- All Files Functions Variables Defines
- - -
- -
- - - - diff --git a/doc/doxygen/html/graph_legend.html b/doc/doxygen/html/graph_legend.html deleted file mode 100644 index e0d0959..0000000 --- a/doc/doxygen/html/graph_legend.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: Graph Legend - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- -
-
-
-
Graph Legend
-
-
-

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

-

Consider the following example:

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

This will result in the following graph:

-
-graph_legend.png -
-

The boxes in the above graph have the following meaning:

- -

The arrows have the following meaning:

- -
- -
- All Files Functions Variables Defines
- - -
- -
- - - - diff --git a/doc/doxygen/html/graph_legend.md5 b/doc/doxygen/html/graph_legend.md5 deleted file mode 100644 index 9d509f3..0000000 --- a/doc/doxygen/html/graph_legend.md5 +++ /dev/null @@ -1 +0,0 @@ -9fbb782f23f919c0064b8f454a56ede8 \ No newline at end of file diff --git a/doc/doxygen/html/graph_legend.png b/doc/doxygen/html/graph_legend.png deleted file mode 100644 index a67a7ca..0000000 Binary files a/doc/doxygen/html/graph_legend.png and /dev/null differ diff --git a/doc/doxygen/html/index.html b/doc/doxygen/html/index.html deleted file mode 100644 index 9a29240..0000000 --- a/doc/doxygen/html/index.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: Main Page - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- -
-
-
-
CTHN.de - LEDCube - commandline client Documentation
-
-
-
- -
- All Files Functions Variables Defines
- - -
- -
- - - - diff --git a/doc/doxygen/html/installdox b/doc/doxygen/html/installdox deleted file mode 100644 index edf5bbf..0000000 --- a/doc/doxygen/html/installdox +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/perl - -%subst = ( ); -$quiet = 0; - -while ( @ARGV ) { - $_ = shift @ARGV; - if ( s/^-// ) { - if ( /^l(.*)/ ) { - $v = ($1 eq "") ? shift @ARGV : $1; - ($v =~ /\/$/) || ($v .= "/"); - $_ = $v; - if ( /(.+)\@(.+)/ ) { - if ( exists $subst{$1} ) { - $subst{$1} = $2; - } else { - print STDERR "Unknown tag file $1 given with option -l\n"; - &usage(); - } - } else { - print STDERR "Argument $_ is invalid for option -l\n"; - &usage(); - } - } - elsif ( /^q/ ) { - $quiet = 1; - } - elsif ( /^\?|^h/ ) { - &usage(); - } - else { - print STDERR "Illegal option -$_\n"; - &usage(); - } - } - else { - push (@files, $_ ); - } -} - -foreach $sub (keys %subst) -{ - if ( $subst{$sub} eq "" ) - { - print STDERR "No substitute given for tag file `$sub'\n"; - &usage(); - } - elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" ) - { - print "Substituting $subst{$sub} for each occurrence of tag file $sub\n"; - } -} - -if ( ! @files ) { - if (opendir(D,".")) { - foreach $file ( readdir(D) ) { - $match = ".html"; - next if ( $file =~ /^\.\.?$/ ); - ($file =~ /$match/) && (push @files, $file); - ($file =~ /\.svg/) && (push @files, $file); - ($file =~ "navtree.js") && (push @files, $file); - } - closedir(D); - } -} - -if ( ! @files ) { - print STDERR "Warning: No input files given and none found!\n"; -} - -foreach $f (@files) -{ - if ( ! $quiet ) { - print "Editing: $f...\n"; - } - $oldf = $f; - $f .= ".bak"; - unless (rename $oldf,$f) { - print STDERR "Error: cannot rename file $oldf\n"; - exit 1; - } - if (open(F,"<$f")) { - unless (open(G,">$oldf")) { - print STDERR "Error: opening file $oldf for writing\n"; - exit 1; - } - if ($oldf ne "tree.js") { - while () { - s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (xlink:href|href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g; - print G "$_"; - } - } - else { - while () { - s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g; - print G "$_"; - } - } - } - else { - print STDERR "Warning file $f does not exist\n"; - } - unlink $f; -} - -sub usage { - print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n"; - print STDERR "Options:\n"; - print STDERR " -l tagfile\@linkName tag file + URL or directory \n"; - print STDERR " -q Quiet mode\n\n"; - exit 1; -} diff --git a/doc/doxygen/html/jquery.js b/doc/doxygen/html/jquery.js deleted file mode 100644 index c052173..0000000 --- a/doc/doxygen/html/jquery.js +++ /dev/null @@ -1,54 +0,0 @@ -/* - * jQuery JavaScript Library v1.3.2 - * http://jquery.com/ - * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License - * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 - */ -(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},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(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); -/* - * Sizzle CSS Selector Engine - v0.9.3 - * Copyright 2009, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0) -{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function() -{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"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}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); -/* - * jQuery UI 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI - */ -jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/* * jQuery UI Resizable 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Resizables - * - * Depends: - * ui.core.js - */ -(function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f
');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidthk.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0)) -{s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);; -/** - * jQuery.ScrollTo - Easy element scrolling using jQuery. - * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com - * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php). - * Date: 2/8/2008 - * @author Ariel Flesler - * @version 1.3.2 - */ -;(function($){var o=$.scrollTo=function(a,b,c){o.window().scrollTo(a,b,c)};o.defaults={axis:'y',duration:1};o.window=function(){return $($.browser.safari?'body':'html')};$.fn.scrollTo=function(l,m,n){if(typeof m=='object'){n=m;m=0}n=$.extend({},o.defaults,n);m=m||n.speed||n.duration;n.queue=n.queue&&n.axis.length>1;if(n.queue)m/=2;n.offset=j(n.offset);n.over=j(n.over);return this.each(function(){var a=this,b=$(a),t=l,c,d={},w=b.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t=j(t);break}t=$(t,this);case'object':if(t.is||t.style)c=(t=$(t)).offset()}$.each(n.axis.split(''),function(i,f){var P=f=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,e=a[k],D=f=='x'?'Width':'Height';if(c){d[k]=c[p]+(w?0:e-b.offset()[p]);if(n.margin){d[k]-=parseInt(t.css('margin'+P))||0;d[k]-=parseInt(t.css('border'+P+'Width'))||0}d[k]+=n.offset[p]||0;if(n.over[p])d[k]+=t[D.toLowerCase()]()*n.over[p]}else d[k]=t[p];if(/^\d+$/.test(d[k]))d[k]=d[k]<=0?0:Math.min(d[k],h(D));if(!i&&n.queue){if(e!=d[k])g(n.onAfterFirst);delete d[k]}});g(n.onAfter);function g(a){b.animate(d,m,n.easing,a&&function(){a.call(this,l)})};function h(D){var b=w?$.browser.opera?document.body:document.documentElement:a;return b['scroll'+D]-b['client'+D]}})};function j(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery); - diff --git a/doc/doxygen/html/ledcube_8c.html b/doc/doxygen/html/ledcube_8c.html deleted file mode 100644 index ef063b9..0000000 --- a/doc/doxygen/html/ledcube_8c.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: ledcube.c File Reference - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - -
-
- -
-
ledcube.c File Reference
-
-
-
#include "ledcube.h"
-
-Include dependency graph for ledcube.c:
-
-
- - -
-
- - - - - - - - - - - -

-Functions

int lc_setFrame (unsigned long frame)
 The setFrame function.
int lc_setMode (int mode)
 The setMode function.
int lc_saveFrame (unsigned long frame, int delay, int index)
 The saveFrame function.
int lc_init ()
 The init function.
int lc_close ()
 The close function.
-

Function Documentation

- -
-
- - - - - - - - -
int lc_close (void )
-
-
- -

The close function.

-
Returns:
NOT_CONNECTED_ERROR or return state of the usb_close function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    return usb_close(_lc_handle);
-
-}
-
-
-
- -
-
- - - - - - - - -
int lc_init (void )
-
-
- -

The init function.

-
Returns:
SUCCESSFULLY_CONNECTED or DEVICE_NOT_FOUND_ERROR.
-
{
-
-    usb_init();
-
-    /* compute lc_vid/lc_pid from usbconfig.h so that there is a central source of information */
-    _lc_vid = _lc_rawVid[1] * 256 + _lc_rawVid[0];
-    _lc_pid = _lc_rawPid[1] * 256 + _lc_rawPid[0];
-
-    /* The following function is in opendevice.c: */
-    if( usbOpenDevice( &_lc_handle, _lc_vid, _lc_vendor, _lc_pid, _lc_product, NULL, NULL, NULL) != 0)
-    {
-        fprintf(stderr, "Could not find USB device \"%s\" with lc_vid=0x%x lc_pid=0x%x\n", _lc_product, _lc_vid, _lc_pid);
-        return DEVICE_NOT_FOUND_ERROR;
-    }
-    return SUCCESSFULLY_CONNECTED;
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int lc_saveFrame (unsigned long frame,
int delay,
int index 
)
-
-
- -

The saveFrame function.

-
Parameters:
- - - - -
frameThe 32bit frame data. Bit 0-8 equals layer one; bit 9 - 17 euqals layer two; bit 18 - 26 equals layer three. The 5 MSB is the lifetime of the current frame in ISR calls (300Hz) multiplied by 8.
deayThe lifetime (onyl 5 bits) of the given frame in ISR calls multiplied by 8.
indexThe position in the EEPROM (0 to 31) of the internal animation content.
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    frame = frame + (delay << 27);
-
-    lc_setFrame(frame);
-
-    return usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_EEPROM_STORE_FRAME, 0, index, _lc_buffer, 0, 300);
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
- -
-
- - - - - - - - -
int lc_setFrame (unsigned long frame)
-
-
- -

The setFrame function.

-
Parameters:
- - -
frameThe 32bit frame data. Bit 0-8 equals layer one; bit 9 - 17 euqals layer two; bit 18 - 26 equals layer three. the 5 MSB is the lifetime of the current frame in ISR calls (300Hz).
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    int low  =  frame & 0xffff;
-    int high = (frame & 0xffff0000) >> 16;
-
-    int ret = usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_FRAME,  low, 0, _lc_buffer, 0, 300);
-    ret += usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_FRAME, high, 1, _lc_buffer, 0, 300);
-
-    return ret;
-}
-
-
-
- -
-
- - - - - - - - -
int lc_setMode (int mode)
-
-
- -

The setMode function.

-
Parameters:
- - -
modeThe firmware mode. MODE_ANIMATION_STOP; MODE_ANIMATION_SINGLE; MODE_ANIMATION_LOOP
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    return usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_MODE, mode, 0, _lc_buffer, 0, 300);
-}
-
-
-
-
- - - - -
- -
- - - - diff --git a/doc/doxygen/html/ledcube_8c__incl.md5 b/doc/doxygen/html/ledcube_8c__incl.md5 deleted file mode 100644 index a199f05..0000000 --- a/doc/doxygen/html/ledcube_8c__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6ba9c45de1ebd0eae5a6014873114c3c \ No newline at end of file diff --git a/doc/doxygen/html/ledcube_8c__incl.png b/doc/doxygen/html/ledcube_8c__incl.png deleted file mode 100644 index 58f68bc..0000000 Binary files a/doc/doxygen/html/ledcube_8c__incl.png and /dev/null differ diff --git a/doc/doxygen/html/ledcube_8c_a13e35739bd1ee4190f8a0bc350b663ba_cgraph.md5 b/doc/doxygen/html/ledcube_8c_a13e35739bd1ee4190f8a0bc350b663ba_cgraph.md5 deleted file mode 100644 index 2d102a9..0000000 --- a/doc/doxygen/html/ledcube_8c_a13e35739bd1ee4190f8a0bc350b663ba_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f717fc587c7ef509a8f0a337e164f82e \ No newline at end of file diff --git a/doc/doxygen/html/ledcube_8c_a13e35739bd1ee4190f8a0bc350b663ba_cgraph.png b/doc/doxygen/html/ledcube_8c_a13e35739bd1ee4190f8a0bc350b663ba_cgraph.png deleted file mode 100644 index 0b12973..0000000 Binary files a/doc/doxygen/html/ledcube_8c_a13e35739bd1ee4190f8a0bc350b663ba_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/ledcube_8c_a6d07d9a1ab6064fb8727ec03bbc71ade_cgraph.md5 b/doc/doxygen/html/ledcube_8c_a6d07d9a1ab6064fb8727ec03bbc71ade_cgraph.md5 deleted file mode 100644 index 24f43e9..0000000 --- a/doc/doxygen/html/ledcube_8c_a6d07d9a1ab6064fb8727ec03bbc71ade_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f031e59b0e701c00a310f354abfb3436 \ No newline at end of file diff --git a/doc/doxygen/html/ledcube_8c_a6d07d9a1ab6064fb8727ec03bbc71ade_cgraph.png b/doc/doxygen/html/ledcube_8c_a6d07d9a1ab6064fb8727ec03bbc71ade_cgraph.png deleted file mode 100644 index 0f8a943..0000000 Binary files a/doc/doxygen/html/ledcube_8c_a6d07d9a1ab6064fb8727ec03bbc71ade_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/ledcube_8h.html b/doc/doxygen/html/ledcube_8h.html deleted file mode 100644 index bbd1d12..0000000 --- a/doc/doxygen/html/ledcube_8h.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: ledcube.h File Reference - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - -
-
- -
-
ledcube.h File Reference
-
-
-
#include <stdio.h>
-#include <usb.h>
-#include "opendevice.h"
-#include "../firmware/globals.h"
-#include "../firmware/requests.h"
-#include "../firmware/usbconfig.h"
-
-Include dependency graph for ledcube.h:
-
-
- - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - -
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

#define NOT_CONNECTED_ERROR   -1
#define DEVICE_NOT_FOUND_ERROR   -2
#define SUCCESSFULLY_CONNECTED   1

-Functions

int lc_setFrame (unsigned long)
 The setFrame function.
int lc_setMode (int)
 The setMode function.
int lc_saveFrame (unsigned long, int, int)
 The saveFrame function.
int lc_init (void)
 The init function.
int lc_close (void)
 The close function.

-Variables

usb_dev_handle * _lc_handle = NULL
const unsigned char _lc_rawVid [2] = {USB_CFG_VENDOR_ID}
const unsigned char _lc_rawPid [2] = {USB_CFG_DEVICE_ID}
char _lc_vendor [] = {USB_CFG_VENDOR_NAME, 0}
char _lc_product [] = {USB_CFG_DEVICE_NAME, 0}
char _lc_buffer [4]
int _lc_vid
int _lc_pid
-

Define Documentation

- -
-
- - - - -
#define DEVICE_NOT_FOUND_ERROR   -2
-
-
- -
-
- -
-
- - - - -
#define NOT_CONNECTED_ERROR   -1
-
-
- -
-
- -
-
- - - - -
#define SUCCESSFULLY_CONNECTED   1
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
int lc_close (void )
-
-
- -

The close function.

-
Returns:
NOT_CONNECTED_ERROR or return state of the usb_close function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    return usb_close(_lc_handle);
-
-}
-
-
-
- -
-
- - - - - - - - -
int lc_init (void )
-
-
- -

The init function.

-
Returns:
SUCCESSFULLY_CONNECTED or DEVICE_NOT_FOUND_ERROR.
-
{
-
-    usb_init();
-
-    /* compute lc_vid/lc_pid from usbconfig.h so that there is a central source of information */
-    _lc_vid = _lc_rawVid[1] * 256 + _lc_rawVid[0];
-    _lc_pid = _lc_rawPid[1] * 256 + _lc_rawPid[0];
-
-    /* The following function is in opendevice.c: */
-    if( usbOpenDevice( &_lc_handle, _lc_vid, _lc_vendor, _lc_pid, _lc_product, NULL, NULL, NULL) != 0)
-    {
-        fprintf(stderr, "Could not find USB device \"%s\" with lc_vid=0x%x lc_pid=0x%x\n", _lc_product, _lc_vid, _lc_pid);
-        return DEVICE_NOT_FOUND_ERROR;
-    }
-    return SUCCESSFULLY_CONNECTED;
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int lc_saveFrame (unsigned long frame,
int delay,
int index 
)
-
-
- -

The saveFrame function.

-
Parameters:
- - - - -
frameThe 32bit frame data. Bit 0-8 equals layer one; bit 9 - 17 euqals layer two; bit 18 - 26 equals layer three. The 5 MSB is the lifetime of the current frame in ISR calls (300Hz) multiplied by 8.
deayThe lifetime (onyl 5 bits) of the given frame in ISR calls multiplied by 8.
indexThe position in the EEPROM (0 to 31) of the internal animation content.
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    frame = frame + (delay << 27);
-
-    lc_setFrame(frame);
-
-    return usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_EEPROM_STORE_FRAME, 0, index, _lc_buffer, 0, 300);
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
- -
-
- - - - - - - - -
int lc_setFrame (unsigned long frame)
-
-
- -

The setFrame function.

-
Parameters:
- - -
frameThe 32bit frame data. Bit 0-8 equals layer one; bit 9 - 17 euqals layer two; bit 18 - 26 equals layer three. the 5 MSB is the lifetime of the current frame in ISR calls (300Hz).
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    int low  =  frame & 0xffff;
-    int high = (frame & 0xffff0000) >> 16;
-
-    int ret = usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_FRAME,  low, 0, _lc_buffer, 0, 300);
-    ret += usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_FRAME, high, 1, _lc_buffer, 0, 300);
-
-    return ret;
-}
-
-
-
- -
-
- - - - - - - - -
int lc_setMode (int mode)
-
-
- -

The setMode function.

-
Parameters:
- - -
modeThe firmware mode. MODE_ANIMATION_STOP; MODE_ANIMATION_SINGLE; MODE_ANIMATION_LOOP
-
-
-
Returns:
NOT_CONNECTED_ERROR or the return value of the usb_control_msg function.
-
{
-    if (_lc_handle == NULL)
-        return NOT_CONNECTED_ERROR;
-
-    return usb_control_msg(_lc_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, CUSTOM_RQ_SET_MODE, mode, 0, _lc_buffer, 0, 300);
-}
-
-
-
-

Variable Documentation

- -
-
- - - - -
char _lc_buffer[4]
-
-
- -
-
- -
-
- - - - -
usb_dev_handle* _lc_handle = NULL
-
-
- -
-
- -
-
- - - - -
int _lc_pid
-
-
- -
-
- -
-
- - - - -
char _lc_product[] = {USB_CFG_DEVICE_NAME, 0}
-
-
- -
-
- -
-
- - - - -
const unsigned char _lc_rawPid[2] = {USB_CFG_DEVICE_ID}
-
-
- -
-
- -
-
- - - - -
const unsigned char _lc_rawVid[2] = {USB_CFG_VENDOR_ID}
-
-
- -
-
- -
-
- - - - -
char _lc_vendor[] = {USB_CFG_VENDOR_NAME, 0}
-
-
- -
-
- -
-
- - - - -
int _lc_vid
-
-
- -
-
-
- - - - -
- -
- - - - diff --git a/doc/doxygen/html/ledcube_8h__dep__incl.md5 b/doc/doxygen/html/ledcube_8h__dep__incl.md5 deleted file mode 100644 index f39e50f..0000000 --- a/doc/doxygen/html/ledcube_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -992b99cccd3fac2e879203e1d5eebe26 \ No newline at end of file diff --git a/doc/doxygen/html/ledcube_8h__dep__incl.png b/doc/doxygen/html/ledcube_8h__dep__incl.png deleted file mode 100644 index 2a01f17..0000000 Binary files a/doc/doxygen/html/ledcube_8h__dep__incl.png and /dev/null differ diff --git a/doc/doxygen/html/ledcube_8h__incl.md5 b/doc/doxygen/html/ledcube_8h__incl.md5 deleted file mode 100644 index 13debf7..0000000 --- a/doc/doxygen/html/ledcube_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -12f854c1b7f2480b1db6a32316082892 \ No newline at end of file diff --git a/doc/doxygen/html/ledcube_8h__incl.png b/doc/doxygen/html/ledcube_8h__incl.png deleted file mode 100644 index b105f3d..0000000 Binary files a/doc/doxygen/html/ledcube_8h__incl.png and /dev/null differ diff --git a/doc/doxygen/html/ledcube_8h_a1cb20405edba4bb4431f84bcd8f10fe8_cgraph.md5 b/doc/doxygen/html/ledcube_8h_a1cb20405edba4bb4431f84bcd8f10fe8_cgraph.md5 deleted file mode 100644 index 24f43e9..0000000 --- a/doc/doxygen/html/ledcube_8h_a1cb20405edba4bb4431f84bcd8f10fe8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f031e59b0e701c00a310f354abfb3436 \ No newline at end of file diff --git a/doc/doxygen/html/ledcube_8h_a1cb20405edba4bb4431f84bcd8f10fe8_cgraph.png b/doc/doxygen/html/ledcube_8h_a1cb20405edba4bb4431f84bcd8f10fe8_cgraph.png deleted file mode 100644 index 0f8a943..0000000 Binary files a/doc/doxygen/html/ledcube_8h_a1cb20405edba4bb4431f84bcd8f10fe8_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/ledcube_8h_a957cc6386f5003a643745976e6645424_cgraph.md5 b/doc/doxygen/html/ledcube_8h_a957cc6386f5003a643745976e6645424_cgraph.md5 deleted file mode 100644 index 2d102a9..0000000 --- a/doc/doxygen/html/ledcube_8h_a957cc6386f5003a643745976e6645424_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f717fc587c7ef509a8f0a337e164f82e \ No newline at end of file diff --git a/doc/doxygen/html/ledcube_8h_a957cc6386f5003a643745976e6645424_cgraph.png b/doc/doxygen/html/ledcube_8h_a957cc6386f5003a643745976e6645424_cgraph.png deleted file mode 100644 index 0b12973..0000000 Binary files a/doc/doxygen/html/ledcube_8h_a957cc6386f5003a643745976e6645424_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/ledcube_8h_source.html b/doc/doxygen/html/ledcube_8h_source.html deleted file mode 100644 index d9d78bc..0000000 --- a/doc/doxygen/html/ledcube_8h_source.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: ledcube.h Source File - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - -
-
-
ledcube.h
-
-
-Go to the documentation of this file.
00001 /*
-00002  * CTHN.de MiniLEDCube
-00003  *
-00004  *  By Kai Lauterbach (klaute at web dot de) 11/2011
-00005  *
-00006  *  Based on http://mosfetkiller.de/?s=miniledcube
-00007  *
-00008  *  License: General Public License (GPL v3)
-00009  *
-00010  */
-00011 
-00012 #ifndef __LEDCUBE_H_INCLUDED__
-00013 #define __LEDCUBE_H_INCLUDED__
-00014 
-00015 #define NOT_CONNECTED_ERROR    -1
-00016 #define DEVICE_NOT_FOUND_ERROR -2
-00017 
-00018 #define SUCCESSFULLY_CONNECTED  1
-00019 
-00020 #include <stdio.h>
-00021 #include <usb.h>        /* this is libusb */
-00022 
-00023 #include "opendevice.h" /* common code moved to separate module */
-00024 
-00025 #include "../firmware/globals.h"   /* custom request numbers */
-00026 #include "../firmware/requests.h"   /* custom request numbers */
-00027 #include "../firmware/usbconfig.h"  /* device's VID/PID and names */
-00028 
-00029 usb_dev_handle      *_lc_handle = NULL;
-00030 
-00031 const unsigned char  _lc_rawVid[2] = {USB_CFG_VENDOR_ID},
-00032                      _lc_rawPid[2] = {USB_CFG_DEVICE_ID};
-00033 
-00034 char                 _lc_vendor[]  = {USB_CFG_VENDOR_NAME, 0},
-00035                      _lc_product[] = {USB_CFG_DEVICE_NAME, 0};
-00036 
-00037 char                 _lc_buffer[4];
-00038 
-00039 int                  _lc_vid,
-00040                      _lc_pid;
-00041 
-00042 int lc_setFrame(unsigned long);
-00043 int lc_setMode(int);
-00044 int lc_saveFrame(unsigned long, int, int);
-00045 int lc_init(void);
-00046 int lc_close(void);
-00047 
-00048 #endif // __LEDCUBE_H_INCLUDED__
-00049 
-
-
- - - - -
- -
- - - - diff --git a/doc/doxygen/html/nav_f.png b/doc/doxygen/html/nav_f.png deleted file mode 100644 index 1b07a16..0000000 Binary files a/doc/doxygen/html/nav_f.png and /dev/null differ diff --git a/doc/doxygen/html/nav_h.png b/doc/doxygen/html/nav_h.png deleted file mode 100644 index 01f5fa6..0000000 Binary files a/doc/doxygen/html/nav_h.png and /dev/null differ diff --git a/doc/doxygen/html/open.png b/doc/doxygen/html/open.png deleted file mode 100644 index 7b35d2c..0000000 Binary files a/doc/doxygen/html/open.png and /dev/null differ diff --git a/doc/doxygen/html/opendevice_8c.html b/doc/doxygen/html/opendevice_8c.html deleted file mode 100644 index e6204d8..0000000 --- a/doc/doxygen/html/opendevice_8c.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: opendevice.c File Reference - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - -
-
- -
-
opendevice.c File Reference
-
-
-
#include <stdio.h>
-#include "opendevice.h"
-
-Include dependency graph for opendevice.c:
-
-
- - -
-
- - - - - - - -

-Defines

#define MATCH_SUCCESS   1
#define MATCH_FAILED   0
#define MATCH_ABORT   -1

-Functions

int usbGetStringAscii (usb_dev_handle *dev, int index, char *buf, int buflen)
int usbOpenDevice (usb_dev_handle **device, int vendorID, char *vendorNamePattern, int productID, char *productNamePattern, char *serialNamePattern, FILE *printMatchingDevicesFp, FILE *warningsFp)
-

Define Documentation

- -
-
- - - - -
#define MATCH_ABORT   -1
-
-
- -
-
- -
-
- - - - -
#define MATCH_FAILED   0
-
-
- -
-
- -
-
- - - - -
#define MATCH_SUCCESS   1
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int usbGetStringAscii (usb_dev_handle * dev,
int index,
char * buf,
int buflen 
)
-
-
-
{
-char    buffer[256];
-int     rval, i;
-
-    if((rval = usb_get_string_simple(dev, index, buf, buflen)) >= 0) /* use libusb version if it works */
-        return rval;
-    if((rval = usb_control_msg(dev, USB_ENDPOINT_IN, USB_REQ_GET_DESCRIPTOR, (USB_DT_STRING << 8) + index, 0x0409, buffer, sizeof(buffer), 5000)) < 0)
-        return rval;
-    if(buffer[1] != USB_DT_STRING){
-        *buf = 0;
-        return 0;
-    }
-    if((unsigned char)buffer[0] < rval)
-        rval = (unsigned char)buffer[0];
-    rval /= 2;
-    /* lossy conversion to ISO Latin1: */
-    for(i=1;i<rval;i++){
-        if(i > buflen)              /* destination buffer overflow */
-            break;
-        buf[i-1] = buffer[2 * i];
-        if(buffer[2 * i + 1] != 0)  /* outside of ISO Latin1 range */
-            buf[i-1] = '?';
-    }
-    buf[i-1] = 0;
-    return i-1;
-}
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int usbOpenDevice (usb_dev_handle ** device,
int vendorID,
char * vendorNamePattern,
int productID,
char * productNamePattern,
char * serialNamePattern,
FILE * printMatchingDevicesFp,
FILE * warningsFp 
)
-
-
-
{
-struct usb_bus      *bus;
-struct usb_device   *dev;
-usb_dev_handle      *handle = NULL;
-int                 errorCode = USBOPEN_ERR_NOTFOUND;
-
-    usb_find_busses();
-    usb_find_devices();
-    for(bus = usb_get_busses(); bus; bus = bus->next){
-        for(dev = bus->devices; dev; dev = dev->next){  /* iterate over all devices on all busses */
-            if((vendorID == 0 || dev->descriptor.idVendor == vendorID)
-                        && (productID == 0 || dev->descriptor.idProduct == productID)){
-                char    vendor[256], product[256], serial[256];
-                int     len;
-                handle = usb_open(dev); /* we need to open the device in order to query strings */
-                if(!handle){
-                    errorCode = USBOPEN_ERR_ACCESS;
-                    if(warningsFp != NULL)
-                        fprintf(warningsFp, "Warning: cannot open VID=0x%04x PID=0x%04x: %s\n", dev->descriptor.idVendor, dev->descriptor.idProduct, usb_strerror());
-                    continue;
-                }
-                /* now check whether the names match: */
-                len = vendor[0] = 0;
-                if(dev->descriptor.iManufacturer > 0){
-                    len = usbGetStringAscii(handle, dev->descriptor.iManufacturer, vendor, sizeof(vendor));
-                }
-                if(len < 0){
-                    errorCode = USBOPEN_ERR_ACCESS;
-                    if(warningsFp != NULL)
-                        fprintf(warningsFp, "Warning: cannot query manufacturer for VID=0x%04x PID=0x%04x: %s\n", dev->descriptor.idVendor, dev->descriptor.idProduct, usb_strerror());
-                }else{
-                    errorCode = USBOPEN_ERR_NOTFOUND;
-                    /* printf("seen device from vendor ->%s<-\n", vendor); */
-                    if(shellStyleMatch(vendor, vendorNamePattern)){
-                        len = product[0] = 0;
-                        if(dev->descriptor.iProduct > 0){
-                            len = usbGetStringAscii(handle, dev->descriptor.iProduct, product, sizeof(product));
-                        }
-                        if(len < 0){
-                            errorCode = USBOPEN_ERR_ACCESS;
-                            if(warningsFp != NULL)
-                                fprintf(warningsFp, "Warning: cannot query product for VID=0x%04x PID=0x%04x: %s\n", dev->descriptor.idVendor, dev->descriptor.idProduct, usb_strerror());
-                        }else{
-                            errorCode = USBOPEN_ERR_NOTFOUND;
-                            /* printf("seen product ->%s<-\n", product); */
-                            if(shellStyleMatch(product, productNamePattern)){
-                                len = serial[0] = 0;
-                                if(dev->descriptor.iSerialNumber > 0){
-                                    len = usbGetStringAscii(handle, dev->descriptor.iSerialNumber, serial, sizeof(serial));
-                                }
-                                if(len < 0){
-                                    errorCode = USBOPEN_ERR_ACCESS;
-                                    if(warningsFp != NULL)
-                                        fprintf(warningsFp, "Warning: cannot query serial for VID=0x%04x PID=0x%04x: %s\n", dev->descriptor.idVendor, dev->descriptor.idProduct, usb_strerror());
-                                }
-                                if(shellStyleMatch(serial, serialNamePattern)){
-                                    if(printMatchingDevicesFp != NULL){
-                                        if(serial[0] == 0){
-                                            fprintf(printMatchingDevicesFp, "VID=0x%04x PID=0x%04x vendor=\"%s\" product=\"%s\"\n", dev->descriptor.idVendor, dev->descriptor.idProduct, vendor, product);
-                                        }else{
-                                            fprintf(printMatchingDevicesFp, "VID=0x%04x PID=0x%04x vendor=\"%s\" product=\"%s\" serial=\"%s\"\n", dev->descriptor.idVendor, dev->descriptor.idProduct, vendor, product, serial);
-                                        }
-                                    }else{
-                                        break;
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-                usb_close(handle);
-                handle = NULL;
-            }
-        }
-        if(handle)  /* we have found a deice */
-            break;
-    }
-    if(handle != NULL){
-        errorCode = 0;
-        *device = handle;
-    }
-    if(printMatchingDevicesFp != NULL)  /* never return an error for listing only */
-        errorCode = 0;
-    return errorCode;
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
-
- - - - -
- -
- - - - diff --git a/doc/doxygen/html/opendevice_8c__incl.md5 b/doc/doxygen/html/opendevice_8c__incl.md5 deleted file mode 100644 index 3b79e2e..0000000 --- a/doc/doxygen/html/opendevice_8c__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7d30d416042fb94acb200bceb97a2c5b \ No newline at end of file diff --git a/doc/doxygen/html/opendevice_8c__incl.png b/doc/doxygen/html/opendevice_8c__incl.png deleted file mode 100644 index 3ee3db3..0000000 Binary files a/doc/doxygen/html/opendevice_8c__incl.png and /dev/null differ diff --git a/doc/doxygen/html/opendevice_8c_acea645564f1dfcd741ff20038d811ac5_cgraph.md5 b/doc/doxygen/html/opendevice_8c_acea645564f1dfcd741ff20038d811ac5_cgraph.md5 deleted file mode 100644 index fd077be..0000000 --- a/doc/doxygen/html/opendevice_8c_acea645564f1dfcd741ff20038d811ac5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -72f0feb2a94684a9d7656c88647f51bd \ No newline at end of file diff --git a/doc/doxygen/html/opendevice_8c_acea645564f1dfcd741ff20038d811ac5_cgraph.png b/doc/doxygen/html/opendevice_8c_acea645564f1dfcd741ff20038d811ac5_cgraph.png deleted file mode 100644 index ca81eac..0000000 Binary files a/doc/doxygen/html/opendevice_8c_acea645564f1dfcd741ff20038d811ac5_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/opendevice_8h.html b/doc/doxygen/html/opendevice_8h.html deleted file mode 100644 index ec5628e..0000000 --- a/doc/doxygen/html/opendevice_8h.html +++ /dev/null @@ -1,460 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: opendevice.h File Reference - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - -
-
- -
-
opendevice.h File Reference
-
-
-
#include <usb.h>
-#include <stdio.h>
-
-Include dependency graph for opendevice.h:
-
-
- - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - -
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Defines

#define USBOPEN_SUCCESS   0
#define USBOPEN_ERR_ACCESS   1
#define USBOPEN_ERR_IO   2
#define USBOPEN_ERR_NOTFOUND   3
#define USB_VID_OBDEV_SHARED   5824
#define USB_PID_OBDEV_SHARED_CUSTOM   1500
#define USB_PID_OBDEV_SHARED_HID   1503
#define USB_PID_OBDEV_SHARED_CDCACM   1505
#define USB_PID_OBDEV_SHARED_MIDI   1508

-Functions

int usbGetStringAscii (usb_dev_handle *dev, int index, char *buf, int buflen)
int usbOpenDevice (usb_dev_handle **device, int vendorID, char *vendorNamePattern, int productID, char *productNamePattern, char *serialNamePattern, FILE *printMatchingDevicesFp, FILE *warningsFp)
-

Define Documentation

- -
-
- - - - -
#define USB_PID_OBDEV_SHARED_CDCACM   1505
-
-
- -
-
- -
-
- - - - -
#define USB_PID_OBDEV_SHARED_CUSTOM   1500
-
-
- -
-
- -
-
- - - - -
#define USB_PID_OBDEV_SHARED_HID   1503
-
-
- -
-
- -
-
- - - - -
#define USB_PID_OBDEV_SHARED_MIDI   1508
-
-
- -
-
- -
-
- - - - -
#define USB_VID_OBDEV_SHARED   5824
-
-
- -
-
- -
-
- - - - -
#define USBOPEN_ERR_ACCESS   1
-
-
- -
-
- -
-
- - - - -
#define USBOPEN_ERR_IO   2
-
-
- -
-
- -
-
- - - - -
#define USBOPEN_ERR_NOTFOUND   3
-
-
- -
-
- -
-
- - - - -
#define USBOPEN_SUCCESS   0
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int usbGetStringAscii (usb_dev_handle * dev,
int index,
char * buf,
int buflen 
)
-
-
-
{
-char    buffer[256];
-int     rval, i;
-
-    if((rval = usb_get_string_simple(dev, index, buf, buflen)) >= 0) /* use libusb version if it works */
-        return rval;
-    if((rval = usb_control_msg(dev, USB_ENDPOINT_IN, USB_REQ_GET_DESCRIPTOR, (USB_DT_STRING << 8) + index, 0x0409, buffer, sizeof(buffer), 5000)) < 0)
-        return rval;
-    if(buffer[1] != USB_DT_STRING){
-        *buf = 0;
-        return 0;
-    }
-    if((unsigned char)buffer[0] < rval)
-        rval = (unsigned char)buffer[0];
-    rval /= 2;
-    /* lossy conversion to ISO Latin1: */
-    for(i=1;i<rval;i++){
-        if(i > buflen)              /* destination buffer overflow */
-            break;
-        buf[i-1] = buffer[2 * i];
-        if(buffer[2 * i + 1] != 0)  /* outside of ISO Latin1 range */
-            buf[i-1] = '?';
-    }
-    buf[i-1] = 0;
-    return i-1;
-}
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int usbOpenDevice (usb_dev_handle ** device,
int vendorID,
char * vendorNamePattern,
int productID,
char * productNamePattern,
char * serialNamePattern,
FILE * printMatchingDevicesFp,
FILE * warningsFp 
)
-
-
-
{
-struct usb_bus      *bus;
-struct usb_device   *dev;
-usb_dev_handle      *handle = NULL;
-int                 errorCode = USBOPEN_ERR_NOTFOUND;
-
-    usb_find_busses();
-    usb_find_devices();
-    for(bus = usb_get_busses(); bus; bus = bus->next){
-        for(dev = bus->devices; dev; dev = dev->next){  /* iterate over all devices on all busses */
-            if((vendorID == 0 || dev->descriptor.idVendor == vendorID)
-                        && (productID == 0 || dev->descriptor.idProduct == productID)){
-                char    vendor[256], product[256], serial[256];
-                int     len;
-                handle = usb_open(dev); /* we need to open the device in order to query strings */
-                if(!handle){
-                    errorCode = USBOPEN_ERR_ACCESS;
-                    if(warningsFp != NULL)
-                        fprintf(warningsFp, "Warning: cannot open VID=0x%04x PID=0x%04x: %s\n", dev->descriptor.idVendor, dev->descriptor.idProduct, usb_strerror());
-                    continue;
-                }
-                /* now check whether the names match: */
-                len = vendor[0] = 0;
-                if(dev->descriptor.iManufacturer > 0){
-                    len = usbGetStringAscii(handle, dev->descriptor.iManufacturer, vendor, sizeof(vendor));
-                }
-                if(len < 0){
-                    errorCode = USBOPEN_ERR_ACCESS;
-                    if(warningsFp != NULL)
-                        fprintf(warningsFp, "Warning: cannot query manufacturer for VID=0x%04x PID=0x%04x: %s\n", dev->descriptor.idVendor, dev->descriptor.idProduct, usb_strerror());
-                }else{
-                    errorCode = USBOPEN_ERR_NOTFOUND;
-                    /* printf("seen device from vendor ->%s<-\n", vendor); */
-                    if(shellStyleMatch(vendor, vendorNamePattern)){
-                        len = product[0] = 0;
-                        if(dev->descriptor.iProduct > 0){
-                            len = usbGetStringAscii(handle, dev->descriptor.iProduct, product, sizeof(product));
-                        }
-                        if(len < 0){
-                            errorCode = USBOPEN_ERR_ACCESS;
-                            if(warningsFp != NULL)
-                                fprintf(warningsFp, "Warning: cannot query product for VID=0x%04x PID=0x%04x: %s\n", dev->descriptor.idVendor, dev->descriptor.idProduct, usb_strerror());
-                        }else{
-                            errorCode = USBOPEN_ERR_NOTFOUND;
-                            /* printf("seen product ->%s<-\n", product); */
-                            if(shellStyleMatch(product, productNamePattern)){
-                                len = serial[0] = 0;
-                                if(dev->descriptor.iSerialNumber > 0){
-                                    len = usbGetStringAscii(handle, dev->descriptor.iSerialNumber, serial, sizeof(serial));
-                                }
-                                if(len < 0){
-                                    errorCode = USBOPEN_ERR_ACCESS;
-                                    if(warningsFp != NULL)
-                                        fprintf(warningsFp, "Warning: cannot query serial for VID=0x%04x PID=0x%04x: %s\n", dev->descriptor.idVendor, dev->descriptor.idProduct, usb_strerror());
-                                }
-                                if(shellStyleMatch(serial, serialNamePattern)){
-                                    if(printMatchingDevicesFp != NULL){
-                                        if(serial[0] == 0){
-                                            fprintf(printMatchingDevicesFp, "VID=0x%04x PID=0x%04x vendor=\"%s\" product=\"%s\"\n", dev->descriptor.idVendor, dev->descriptor.idProduct, vendor, product);
-                                        }else{
-                                            fprintf(printMatchingDevicesFp, "VID=0x%04x PID=0x%04x vendor=\"%s\" product=\"%s\" serial=\"%s\"\n", dev->descriptor.idVendor, dev->descriptor.idProduct, vendor, product, serial);
-                                        }
-                                    }else{
-                                        break;
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-                usb_close(handle);
-                handle = NULL;
-            }
-        }
-        if(handle)  /* we have found a deice */
-            break;
-    }
-    if(handle != NULL){
-        errorCode = 0;
-        *device = handle;
-    }
-    if(printMatchingDevicesFp != NULL)  /* never return an error for listing only */
-        errorCode = 0;
-    return errorCode;
-}
-
-

-Here is the call graph for this function:
-
-
- - -
-

- -
-
-
- - - - -
- -
- - - - diff --git a/doc/doxygen/html/opendevice_8h__dep__incl.md5 b/doc/doxygen/html/opendevice_8h__dep__incl.md5 deleted file mode 100644 index 655babc..0000000 --- a/doc/doxygen/html/opendevice_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -880ec990d73bcb683bbd2783642fc135 \ No newline at end of file diff --git a/doc/doxygen/html/opendevice_8h__dep__incl.png b/doc/doxygen/html/opendevice_8h__dep__incl.png deleted file mode 100644 index 89858f5..0000000 Binary files a/doc/doxygen/html/opendevice_8h__dep__incl.png and /dev/null differ diff --git a/doc/doxygen/html/opendevice_8h__incl.md5 b/doc/doxygen/html/opendevice_8h__incl.md5 deleted file mode 100644 index 3293899..0000000 --- a/doc/doxygen/html/opendevice_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1c3100a6a442cd0b899823a5d8dc5490 \ No newline at end of file diff --git a/doc/doxygen/html/opendevice_8h__incl.png b/doc/doxygen/html/opendevice_8h__incl.png deleted file mode 100644 index 99f797d..0000000 Binary files a/doc/doxygen/html/opendevice_8h__incl.png and /dev/null differ diff --git a/doc/doxygen/html/opendevice_8h_acea645564f1dfcd741ff20038d811ac5_cgraph.md5 b/doc/doxygen/html/opendevice_8h_acea645564f1dfcd741ff20038d811ac5_cgraph.md5 deleted file mode 100644 index fd077be..0000000 --- a/doc/doxygen/html/opendevice_8h_acea645564f1dfcd741ff20038d811ac5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -72f0feb2a94684a9d7656c88647f51bd \ No newline at end of file diff --git a/doc/doxygen/html/opendevice_8h_acea645564f1dfcd741ff20038d811ac5_cgraph.png b/doc/doxygen/html/opendevice_8h_acea645564f1dfcd741ff20038d811ac5_cgraph.png deleted file mode 100644 index ca81eac..0000000 Binary files a/doc/doxygen/html/opendevice_8h_acea645564f1dfcd741ff20038d811ac5_cgraph.png and /dev/null differ diff --git a/doc/doxygen/html/opendevice_8h_source.html b/doc/doxygen/html/opendevice_8h_source.html deleted file mode 100644 index 3262c06..0000000 --- a/doc/doxygen/html/opendevice_8h_source.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - -CTHN.de - LEDCube - commandline client: opendevice.h Source File - - - - - - - - -
-
- - - - - - -
-
CTHN.de - LEDCube - commandline client
-
-
- - -
-
-
opendevice.h
-
-
-Go to the documentation of this file.
00001 /* Name: opendevice.h
-00002  * Project: V-USB host-side library
-00003  * Author: Christian Starkjohann
-00004  * Creation Date: 2008-04-10
-00005  * Tabsize: 4
-00006  * Copyright: (c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH
-00007  * License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt)
-00008  * This Revision: $Id: opendevice.h 755 2009-08-03 17:01:21Z cs $
-00009  */
-00010 
-00011 /*
-00012 General Description:
-00013 This module offers additional functionality for host side drivers based on
-00014 libusb or libusb-win32. It includes a function to find and open a device
-00015 based on numeric IDs and textual description. It also includes a function to
-00016 obtain textual descriptions from a device.
-00017 
-00018 To use this functionality, simply copy opendevice.c and opendevice.h into your
-00019 project and add them to your Makefile. You may modify and redistribute these
-00020 files according to the GNU General Public License (GPL) version 2 or 3.
-00021 */
-00022 
-00023 #ifndef __OPENDEVICE_H_INCLUDED__
-00024 #define __OPENDEVICE_H_INCLUDED__
-00025 
-00026 #include <usb.h>    /* this is libusb, see http://libusb.sourceforge.net/ */
-00027 #include <stdio.h>
-00028 
-00029 int usbGetStringAscii(usb_dev_handle *dev, int index, char *buf, int buflen);
-00030 /* This function gets a string descriptor from the device. 'index' is the
-00031  * string descriptor index. The string is returned in ISO Latin 1 encoding in
-00032  * 'buf' and it is terminated with a 0-character. The buffer size must be
-00033  * passed in 'buflen' to prevent buffer overflows. A libusb device handle
-00034  * must be given in 'dev'.
-00035  * Returns: The length of the string (excluding the terminating 0) or
-00036  * a negative number in case of an error. If there was an error, use
-00037  * usb_strerror() to obtain the error message.
-00038  */
-00039 
-00040 int usbOpenDevice(usb_dev_handle **device, int vendorID, char *vendorNamePattern, int productID, char *productNamePattern, char *serialNamePattern, FILE *printMatchingDevicesFp, FILE *warningsFp);
-00041 /* This function iterates over all devices on all USB busses and searches for
-00042  * a device. Matching is done first by means of Vendor- and Product-ID (passed
-00043  * in 'vendorID' and 'productID'. An ID of 0 matches any numeric ID (wildcard).
-00044  * When a device matches by its IDs, matching by names is performed. Name
-00045  * matching can be done on textual vendor name ('vendorNamePattern'), product
-00046  * name ('productNamePattern') and serial number ('serialNamePattern'). A
-00047  * device matches only if all non-null pattern match. If you don't care about
-00048  * a string, pass NULL for the pattern. Patterns are Unix shell style pattern:
-00049  * '*' stands for 0 or more characters, '?' for one single character, a list
-00050  * of characters in square brackets for a single character from the list
-00051  * (dashes are allowed to specify a range) and if the lis of characters begins
-00052  * with a caret ('^'), it matches one character which is NOT in the list.
-00053  * Other parameters to the function: If 'warningsFp' is not NULL, warning
-00054  * messages are printed to this file descriptor with fprintf(). If
-00055  * 'printMatchingDevicesFp' is not NULL, no device is opened but matching
-00056  * devices are printed to the given file descriptor with fprintf().
-00057  * If a device is opened, the resulting USB handle is stored in '*device'. A
-00058  * pointer to a "usb_dev_handle *" type variable must be passed here.
-00059  * Returns: 0 on success, an error code (see defines below) on failure.
-00060  */
-00061 
-00062 /* usbOpenDevice() error codes: */
-00063 #define USBOPEN_SUCCESS         0   /* no error */
-00064 #define USBOPEN_ERR_ACCESS      1   /* not enough permissions to open device */
-00065 #define USBOPEN_ERR_IO          2   /* I/O error */
-00066 #define USBOPEN_ERR_NOTFOUND    3   /* device not found */
-00067 
-00068 
-00069 /* Obdev's free USB IDs, see USB-IDs-for-free.txt for details */
-00070 
-00071 #define USB_VID_OBDEV_SHARED        5824    /* obdev's shared vendor ID */
-00072 #define USB_PID_OBDEV_SHARED_CUSTOM 1500    /* shared PID for custom class devices */
-00073 #define USB_PID_OBDEV_SHARED_HID    1503    /* shared PID for HIDs except mice & keyboards */
-00074 #define USB_PID_OBDEV_SHARED_CDCACM 1505    /* shared PID for CDC Modem devices */
-00075 #define USB_PID_OBDEV_SHARED_MIDI   1508    /* shared PID for MIDI class devices */
-00076 
-00077 #endif /* __OPENDEVICE_H_INCLUDED__ */
-
-
- - - - -
- -
- - - - diff --git a/doc/doxygen/html/search/all_5f.html b/doc/doxygen/html/search/all_5f.html deleted file mode 100644 index 46addec..0000000 --- a/doc/doxygen/html/search/all_5f.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- __attribute__ - main.c -
-
-
-
- _lc_buffer - ledcube.h -
-
-
-
- _lc_handle - ledcube.h -
-
-
-
- _lc_pid - ledcube.h -
-
-
-
- _lc_product - ledcube.h -
-
-
-
- _lc_rawPid - ledcube.h -
-
-
-
- _lc_rawVid - ledcube.h -
-
-
-
- _lc_vendor - ledcube.h -
-
-
-
- _lc_vid - ledcube.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_62.html b/doc/doxygen/html/search/all_62.html deleted file mode 100644 index 7ed2253..0000000 --- a/doc/doxygen/html/search/all_62.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -
-
Loading...
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_63.html b/doc/doxygen/html/search/all_63.html deleted file mode 100644 index 6cf99bf..0000000 --- a/doc/doxygen/html/search/all_63.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- clcc.c -
-
-
-
- config.h -
-
-
-
- CUBE_SIZE - config.h -
-
- -
-
- CUSTOM_RQ_EEPROM_STORE_FRAME - requests.h -
-
-
-
- CUSTOM_RQ_SET_FRAME - requests.h -
-
-
-
- CUSTOM_RQ_SET_MODE - requests.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_64.html b/doc/doxygen/html/search/all_64.html deleted file mode 100644 index 4c6f5e2..0000000 --- a/doc/doxygen/html/search/all_64.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- delay - main.h -
-
-
-
- demo - demo.c -
-
-
-
- demo.c -
-
-
-
- DEVICE_NOT_FOUND_ERROR - ledcube.h -
-
- -
-
- display.c -
-
-
-
- display.h -
-
-
-
- drawingArea - main.c -
-
- - -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_65.html b/doc/doxygen/html/search/all_65.html deleted file mode 100644 index 6238d8b..0000000 --- a/doc/doxygen/html/search/all_65.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - -
-
Loading...
- -
-
- eeprom1 - demo.c -
-
- - - -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_66.html b/doc/doxygen/html/search/all_66.html deleted file mode 100644 index 6f682b2..0000000 --- a/doc/doxygen/html/search/all_66.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- F_CPU - globals.h -
-
- -
-
- frmnum - main.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_67.html b/doc/doxygen/html/search/all_67.html deleted file mode 100644 index 23cbb44..0000000 --- a/doc/doxygen/html/search/all_67.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -
-
Loading...
- - -
-
- globals.h -
-
-
-
- glWindow - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_69.html b/doc/doxygen/html/search/all_69.html deleted file mode 100644 index 41e243d..0000000 --- a/doc/doxygen/html/search/all_69.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - -
-
Loading...
- - - -
-
- input.c -
-
-
-
- input.h -
-
-
-
- ISR - main.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_6c.html b/doc/doxygen/html/search/all_6c.html deleted file mode 100644 index b464c41..0000000 --- a/doc/doxygen/html/search/all_6c.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -
-
Loading...
- - - - - -
-
- ledcube.c -
-
-
-
- ledcube.h -
-
- - - -
-
- level - main.h -
-
- - - -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_6d.html b/doc/doxygen/html/search/all_6d.html deleted file mode 100644 index d4b9aef..0000000 --- a/doc/doxygen/html/search/all_6d.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -
-
Loading...
- -
-
- main.c -
-
-
-
- main.c -
-
-
-
- main.h -
-
-
-
- MATCH_ABORT - opendevice.c -
-
-
-
- MATCH_FAILED - opendevice.c -
-
-
-
- MATCH_SUCCESS - opendevice.c -
-
-
-
- MAX_EEPROM_FRAMES - globals.h -
-
- -
-
- MODE_ANIMATION_LOOP - globals.h -
-
-
-
- MODE_ANIMATION_SINGLE - globals.h -
-
-
-
- MODE_ANIMATION_STOP - globals.h -
-
- -
-
- MOVE_SPEED - config.h -
-
- - -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_6e.html b/doc/doxygen/html/search/all_6e.html deleted file mode 100644 index a6e1ef4..0000000 --- a/doc/doxygen/html/search/all_6e.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- NOT_CONNECTED_ERROR - ledcube.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_6f.html b/doc/doxygen/html/search/all_6f.html deleted file mode 100644 index 8ccbb00..0000000 --- a/doc/doxygen/html/search/all_6f.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- on_drawing_area_button_press_event - event_callbacks.c -
-
-
-
- on_drawing_area_expose_event - event_callbacks.c -
-
-
-
- on_drawing_area_key_press_event - event_callbacks.c -
-
-
-
- on_main_window_delete_event - event_callbacks.c -
-
-
- -
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_70.html b/doc/doxygen/html/search/all_70.html deleted file mode 100644 index ca5ef36..0000000 --- a/doc/doxygen/html/search/all_70.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- PI - config.h -
-
-
-
- PICKING_MODE - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_71.html b/doc/doxygen/html/search/all_71.html deleted file mode 100644 index 0f068bd..0000000 --- a/doc/doxygen/html/search/all_71.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -
-
Loading...
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_72.html b/doc/doxygen/html/search/all_72.html deleted file mode 100644 index 6f20009..0000000 --- a/doc/doxygen/html/search/all_72.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- RENDER_MODE - config.h -
-
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_73.html b/doc/doxygen/html/search/all_73.html deleted file mode 100644 index 11bba72..0000000 --- a/doc/doxygen/html/search/all_73.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - -
-
Loading...
- -
-
- SIDE_ORIENTATION - config.h -
-
-
-
- sinus1 - demo.c -
-
-
-
- SUCCESSFULLY_CONNECTED - ledcube.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_74.html b/doc/doxygen/html/search/all_74.html deleted file mode 100644 index 80bb054..0000000 --- a/doc/doxygen/html/search/all_74.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- TOP_ORIENTATION - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_75.html b/doc/doxygen/html/search/all_75.html deleted file mode 100644 index e710214..0000000 --- a/doc/doxygen/html/search/all_75.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- usb.c -
-
-
-
- usb.h -
-
-
-
- USB_CFG_CHECK_CRC - usbconfig.h -
-
-
-
- USB_CFG_CHECK_DATA_TOGGLING - usbconfig.h -
-
-
-
- USB_CFG_CLOCK_KHZ - usbconfig.h -
-
-
- -
-
-
- USB_CFG_DESCR_PROPS_DEVICE - usbconfig.h -
-
-
-
- USB_CFG_DESCR_PROPS_HID - usbconfig.h -
-
-
-
- USB_CFG_DESCR_PROPS_HID_REPORT - usbconfig.h -
-
-
-
- USB_CFG_DESCR_PROPS_STRING_0 - usbconfig.h -
-
-
- -
- -
- -
-
-
- USB_CFG_DESCR_PROPS_STRINGS - usbconfig.h -
-
-
-
- USB_CFG_DESCR_PROPS_UNKNOWN - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_CLASS - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_ID - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_NAME - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_NAME_LEN - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_SUBCLASS - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_VERSION - usbconfig.h -
-
-
-
- USB_CFG_DMINUS_BIT - usbconfig.h -
-
-
-
- USB_CFG_DPLUS_BIT - usbconfig.h -
-
-
-
- USB_CFG_DRIVER_FLASH_PAGE - usbconfig.h -
-
-
-
- USB_CFG_EP3_NUMBER - usbconfig.h -
-
-
-
- USB_CFG_HAVE_FLOWCONTROL - usbconfig.h -
-
-
-
- USB_CFG_HAVE_INTRIN_ENDPOINT - usbconfig.h -
-
-
-
- USB_CFG_HAVE_INTRIN_ENDPOINT3 - usbconfig.h -
-
-
- -
- -
-
- USB_CFG_IMPLEMENT_FN_READ - usbconfig.h -
-
-
-
- USB_CFG_IMPLEMENT_FN_WRITE - usbconfig.h -
-
-
-
- USB_CFG_IMPLEMENT_FN_WRITEOUT - usbconfig.h -
-
-
-
- USB_CFG_IMPLEMENT_HALT - usbconfig.h -
-
-
-
- USB_CFG_INTERFACE_CLASS - usbconfig.h -
-
-
-
- USB_CFG_INTERFACE_PROTOCOL - usbconfig.h -
-
-
-
- USB_CFG_INTERFACE_SUBCLASS - usbconfig.h -
-
-
-
- USB_CFG_INTR_POLL_INTERVAL - usbconfig.h -
-
-
-
- USB_CFG_IOPORTNAME - usbconfig.h -
-
-
-
- USB_CFG_IS_SELF_POWERED - usbconfig.h -
-
-
-
- USB_CFG_LONG_TRANSFERS - usbconfig.h -
-
-
-
- USB_CFG_MAX_BUS_POWER - usbconfig.h -
-
-
-
- USB_CFG_SUPPRESS_INTR_CODE - usbconfig.h -
-
-
-
- USB_CFG_USE_GPIOR - usbconfig.h -
-
-
-
- USB_CFG_VENDOR_ID - usbconfig.h -
-
-
-
- USB_CFG_VENDOR_NAME - usbconfig.h -
-
-
-
- USB_CFG_VENDOR_NAME_LEN - usbconfig.h -
-
-
-
- USB_COUNT_SOF - usbconfig.h -
-
-
-
- USB_PID_OBDEV_SHARED_CDCACM - opendevice.h -
-
-
-
- USB_PID_OBDEV_SHARED_CUSTOM - opendevice.h -
-
-
-
- USB_PID_OBDEV_SHARED_HID - opendevice.h -
-
-
-
- USB_PID_OBDEV_SHARED_MIDI - opendevice.h -
-
-
-
- USB_USE_FAST_CRC - usbconfig.h -
-
-
-
- USB_VID_OBDEV_SHARED - opendevice.h -
-
-
- -
-
-
- usbFunctionSetup - usb.c -
-
- -
- -
-
-
- USBOPEN_ERR_ACCESS - opendevice.h -
-
-
-
- USBOPEN_ERR_IO - opendevice.h -
-
-
-
- USBOPEN_ERR_NOTFOUND - opendevice.h -
-
-
-
- USBOPEN_SUCCESS - opendevice.h -
-
- -
-
- usbPoll - main.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_77.html b/doc/doxygen/html/search/all_77.html deleted file mode 100644 index 80e5603..0000000 --- a/doc/doxygen/html/search/all_77.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- window - main.c -
-
-
-
- WINDOW_HEIGHT - config.h -
-
-
-
- WINDOW_WIDTH - config.h -
-
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/all_7a.html b/doc/doxygen/html/search/all_7a.html deleted file mode 100644 index a4cd819..0000000 --- a/doc/doxygen/html/search/all_7a.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- ZOOM_LEVEL - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/close.png b/doc/doxygen/html/search/close.png deleted file mode 100644 index 9342d3d..0000000 Binary files a/doc/doxygen/html/search/close.png and /dev/null differ diff --git a/doc/doxygen/html/search/defines_63.html b/doc/doxygen/html/search/defines_63.html deleted file mode 100644 index 7aa7b57..0000000 --- a/doc/doxygen/html/search/defines_63.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- CUBE_SIZE - config.h -
-
-
-
- CUSTOM_RQ_EEPROM_STORE_FRAME - requests.h -
-
-
-
- CUSTOM_RQ_SET_FRAME - requests.h -
-
-
-
- CUSTOM_RQ_SET_MODE - requests.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_64.html b/doc/doxygen/html/search/defines_64.html deleted file mode 100644 index 85d4b89..0000000 --- a/doc/doxygen/html/search/defines_64.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- DEVICE_NOT_FOUND_ERROR - ledcube.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_65.html b/doc/doxygen/html/search/defines_65.html deleted file mode 100644 index a375cf4..0000000 --- a/doc/doxygen/html/search/defines_65.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- EEMEM - usb.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_66.html b/doc/doxygen/html/search/defines_66.html deleted file mode 100644 index 41a2865..0000000 --- a/doc/doxygen/html/search/defines_66.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- F_CPU - globals.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_6d.html b/doc/doxygen/html/search/defines_6d.html deleted file mode 100644 index 735ce64..0000000 --- a/doc/doxygen/html/search/defines_6d.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- MATCH_ABORT - opendevice.c -
-
-
-
- MATCH_FAILED - opendevice.c -
-
-
-
- MATCH_SUCCESS - opendevice.c -
-
-
-
- MAX_EEPROM_FRAMES - globals.h -
-
-
-
- MODE_ANIMATION_LOOP - globals.h -
-
-
-
- MODE_ANIMATION_SINGLE - globals.h -
-
-
-
- MODE_ANIMATION_STOP - globals.h -
-
-
-
- MOVE_SPEED - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_6e.html b/doc/doxygen/html/search/defines_6e.html deleted file mode 100644 index a6e1ef4..0000000 --- a/doc/doxygen/html/search/defines_6e.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- NOT_CONNECTED_ERROR - ledcube.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_70.html b/doc/doxygen/html/search/defines_70.html deleted file mode 100644 index ca5ef36..0000000 --- a/doc/doxygen/html/search/defines_70.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- PI - config.h -
-
-
-
- PICKING_MODE - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_72.html b/doc/doxygen/html/search/defines_72.html deleted file mode 100644 index 627573b..0000000 --- a/doc/doxygen/html/search/defines_72.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- RENDER_MODE - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_73.html b/doc/doxygen/html/search/defines_73.html deleted file mode 100644 index 9c98268..0000000 --- a/doc/doxygen/html/search/defines_73.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- SIDE_ORIENTATION - config.h -
-
-
-
- SUCCESSFULLY_CONNECTED - ledcube.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_74.html b/doc/doxygen/html/search/defines_74.html deleted file mode 100644 index 80bb054..0000000 --- a/doc/doxygen/html/search/defines_74.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- TOP_ORIENTATION - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_75.html b/doc/doxygen/html/search/defines_75.html deleted file mode 100644 index f4b15dd..0000000 --- a/doc/doxygen/html/search/defines_75.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- USB_CFG_CHECK_CRC - usbconfig.h -
-
-
-
- USB_CFG_CHECK_DATA_TOGGLING - usbconfig.h -
-
-
-
- USB_CFG_CLOCK_KHZ - usbconfig.h -
-
-
- -
-
-
- USB_CFG_DESCR_PROPS_DEVICE - usbconfig.h -
-
-
-
- USB_CFG_DESCR_PROPS_HID - usbconfig.h -
-
-
-
- USB_CFG_DESCR_PROPS_HID_REPORT - usbconfig.h -
-
-
-
- USB_CFG_DESCR_PROPS_STRING_0 - usbconfig.h -
-
-
- -
- -
- -
-
-
- USB_CFG_DESCR_PROPS_STRINGS - usbconfig.h -
-
-
-
- USB_CFG_DESCR_PROPS_UNKNOWN - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_CLASS - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_ID - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_NAME - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_NAME_LEN - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_SUBCLASS - usbconfig.h -
-
-
-
- USB_CFG_DEVICE_VERSION - usbconfig.h -
-
-
-
- USB_CFG_DMINUS_BIT - usbconfig.h -
-
-
-
- USB_CFG_DPLUS_BIT - usbconfig.h -
-
-
-
- USB_CFG_DRIVER_FLASH_PAGE - usbconfig.h -
-
-
-
- USB_CFG_EP3_NUMBER - usbconfig.h -
-
-
-
- USB_CFG_HAVE_FLOWCONTROL - usbconfig.h -
-
-
-
- USB_CFG_HAVE_INTRIN_ENDPOINT - usbconfig.h -
-
-
-
- USB_CFG_HAVE_INTRIN_ENDPOINT3 - usbconfig.h -
-
-
- -
- -
-
- USB_CFG_IMPLEMENT_FN_READ - usbconfig.h -
-
-
-
- USB_CFG_IMPLEMENT_FN_WRITE - usbconfig.h -
-
-
-
- USB_CFG_IMPLEMENT_FN_WRITEOUT - usbconfig.h -
-
-
-
- USB_CFG_IMPLEMENT_HALT - usbconfig.h -
-
-
-
- USB_CFG_INTERFACE_CLASS - usbconfig.h -
-
-
-
- USB_CFG_INTERFACE_PROTOCOL - usbconfig.h -
-
-
-
- USB_CFG_INTERFACE_SUBCLASS - usbconfig.h -
-
-
-
- USB_CFG_INTR_POLL_INTERVAL - usbconfig.h -
-
-
-
- USB_CFG_IOPORTNAME - usbconfig.h -
-
-
-
- USB_CFG_IS_SELF_POWERED - usbconfig.h -
-
-
-
- USB_CFG_LONG_TRANSFERS - usbconfig.h -
-
-
-
- USB_CFG_MAX_BUS_POWER - usbconfig.h -
-
-
-
- USB_CFG_SUPPRESS_INTR_CODE - usbconfig.h -
-
-
-
- USB_CFG_USE_GPIOR - usbconfig.h -
-
-
-
- USB_CFG_VENDOR_ID - usbconfig.h -
-
-
-
- USB_CFG_VENDOR_NAME - usbconfig.h -
-
-
-
- USB_CFG_VENDOR_NAME_LEN - usbconfig.h -
-
-
-
- USB_COUNT_SOF - usbconfig.h -
-
-
-
- USB_PID_OBDEV_SHARED_CDCACM - opendevice.h -
-
-
-
- USB_PID_OBDEV_SHARED_CUSTOM - opendevice.h -
-
-
-
- USB_PID_OBDEV_SHARED_HID - opendevice.h -
-
-
-
- USB_PID_OBDEV_SHARED_MIDI - opendevice.h -
-
-
-
- USB_USE_FAST_CRC - usbconfig.h -
-
-
-
- USB_VID_OBDEV_SHARED - opendevice.h -
-
-
-
- USBOPEN_ERR_ACCESS - opendevice.h -
-
-
-
- USBOPEN_ERR_IO - opendevice.h -
-
-
-
- USBOPEN_ERR_NOTFOUND - opendevice.h -
-
-
-
- USBOPEN_SUCCESS - opendevice.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_77.html b/doc/doxygen/html/search/defines_77.html deleted file mode 100644 index 257c2c0..0000000 --- a/doc/doxygen/html/search/defines_77.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- WINDOW_HEIGHT - config.h -
-
-
-
- WINDOW_WIDTH - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/defines_7a.html b/doc/doxygen/html/search/defines_7a.html deleted file mode 100644 index a4cd819..0000000 --- a/doc/doxygen/html/search/defines_7a.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- ZOOM_LEVEL - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_63.html b/doc/doxygen/html/search/files_63.html deleted file mode 100644 index 574d98d..0000000 --- a/doc/doxygen/html/search/files_63.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- clcc.c -
-
-
-
- config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_64.html b/doc/doxygen/html/search/files_64.html deleted file mode 100644 index 31b3161..0000000 --- a/doc/doxygen/html/search/files_64.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- demo.c -
-
-
-
- display.c -
-
-
-
- display.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_65.html b/doc/doxygen/html/search/files_65.html deleted file mode 100644 index 154526b..0000000 --- a/doc/doxygen/html/search/files_65.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_67.html b/doc/doxygen/html/search/files_67.html deleted file mode 100644 index eadc7e1..0000000 --- a/doc/doxygen/html/search/files_67.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- globals.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_69.html b/doc/doxygen/html/search/files_69.html deleted file mode 100644 index 8f20a2a..0000000 --- a/doc/doxygen/html/search/files_69.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- input.c -
-
-
-
- input.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_6c.html b/doc/doxygen/html/search/files_6c.html deleted file mode 100644 index 871c551..0000000 --- a/doc/doxygen/html/search/files_6c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- ledcube.c -
-
-
-
- ledcube.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_6d.html b/doc/doxygen/html/search/files_6d.html deleted file mode 100644 index 79fd782..0000000 --- a/doc/doxygen/html/search/files_6d.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- main.c -
-
-
-
- main.c -
-
-
-
- main.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_6f.html b/doc/doxygen/html/search/files_6f.html deleted file mode 100644 index eda2cc7..0000000 --- a/doc/doxygen/html/search/files_6f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_72.html b/doc/doxygen/html/search/files_72.html deleted file mode 100644 index d72c228..0000000 --- a/doc/doxygen/html/search/files_72.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/files_75.html b/doc/doxygen/html/search/files_75.html deleted file mode 100644 index 69d1ce3..0000000 --- a/doc/doxygen/html/search/files_75.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- usb.c -
-
-
-
- usb.h -
-
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/functions_5f.html b/doc/doxygen/html/search/functions_5f.html deleted file mode 100644 index 24489c3..0000000 --- a/doc/doxygen/html/search/functions_5f.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- __attribute__ - main.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/functions_64.html b/doc/doxygen/html/search/functions_64.html deleted file mode 100644 index ff3335d..0000000 --- a/doc/doxygen/html/search/functions_64.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- demo - demo.c -
-
- - - -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/functions_65.html b/doc/doxygen/html/search/functions_65.html deleted file mode 100644 index 1bbc1ad..0000000 --- a/doc/doxygen/html/search/functions_65.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- eeprom1 - demo.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/functions_69.html b/doc/doxygen/html/search/functions_69.html deleted file mode 100644 index 667cd17..0000000 --- a/doc/doxygen/html/search/functions_69.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - -
-
Loading...
- - -
-
- ISR - main.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/functions_6c.html b/doc/doxygen/html/search/functions_6c.html deleted file mode 100644 index 3e99f5f..0000000 --- a/doc/doxygen/html/search/functions_6c.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - diff --git a/doc/doxygen/html/search/functions_6d.html b/doc/doxygen/html/search/functions_6d.html deleted file mode 100644 index 63cd5dd..0000000 --- a/doc/doxygen/html/search/functions_6d.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - -
-
Loading...
- - - - -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/functions_6f.html b/doc/doxygen/html/search/functions_6f.html deleted file mode 100644 index 04615ad..0000000 --- a/doc/doxygen/html/search/functions_6f.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- on_drawing_area_button_press_event - event_callbacks.c -
-
-
-
- on_drawing_area_expose_event - event_callbacks.c -
-
-
-
- on_drawing_area_key_press_event - event_callbacks.c -
-
-
-
- on_main_window_delete_event - event_callbacks.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/functions_73.html b/doc/doxygen/html/search/functions_73.html deleted file mode 100644 index f9425ec..0000000 --- a/doc/doxygen/html/search/functions_73.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
- -
-
- sinus1 - demo.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/functions_75.html b/doc/doxygen/html/search/functions_75.html deleted file mode 100644 index dfb150d..0000000 --- a/doc/doxygen/html/search/functions_75.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - diff --git a/doc/doxygen/html/search/mag_sel.png b/doc/doxygen/html/search/mag_sel.png deleted file mode 100644 index 81f6040..0000000 Binary files a/doc/doxygen/html/search/mag_sel.png and /dev/null differ diff --git a/doc/doxygen/html/search/nomatches.html b/doc/doxygen/html/search/nomatches.html deleted file mode 100644 index b1ded27..0000000 --- a/doc/doxygen/html/search/nomatches.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - -
-
No Matches
-
- - diff --git a/doc/doxygen/html/search/search.css b/doc/doxygen/html/search/search.css deleted file mode 100644 index 50249e5..0000000 --- a/doc/doxygen/html/search/search.css +++ /dev/null @@ -1,240 +0,0 @@ -/*---------------- Search Box */ - -#FSearchBox { - float: left; -} - -#searchli { - float: right; - display: block; - width: 170px; - height: 36px; -} - -#MSearchBox { - white-space : nowrap; - position: absolute; - float: none; - display: inline; - margin-top: 8px; - right: 0px; - width: 170px; - z-index: 102; -} - -#MSearchBox .left -{ - display:block; - position:absolute; - left:10px; - width:20px; - height:19px; - background:url('search_l.png') no-repeat; - background-position:right; -} - -#MSearchSelect { - display:block; - position:absolute; - width:20px; - height:19px; -} - -.left #MSearchSelect { - left:4px; -} - -.right #MSearchSelect { - right:5px; -} - -#MSearchField { - display:block; - position:absolute; - height:19px; - background:url('search_m.png') repeat-x; - border:none; - width:116px; - margin-left:20px; - padding-left:4px; - color: #909090; - outline: none; - font: 9pt Arial, Verdana, sans-serif; -} - -#FSearchBox #MSearchField { - margin-left:15px; -} - -#MSearchBox .right { - display:block; - position:absolute; - right:10px; - top:0px; - width:20px; - height:19px; - background:url('search_r.png') no-repeat; - background-position:left; -} - -#MSearchClose { - display: none; - position: absolute; - top: 4px; - background : none; - border: none; - margin: 0px 4px 0px 0px; - padding: 0px 0px; - outline: none; -} - -.left #MSearchClose { - left: 6px; -} - -.right #MSearchClose { - right: 2px; -} - -.MSearchBoxActive #MSearchField { - color: #000000; -} - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #90A5CE; - background-color: #F9FAFC; - z-index: 1; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt Arial, Verdana, sans-serif; - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: monospace; - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: #000000; - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: #000000; - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: #FFFFFF; - background-color: #3D578C; - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - width: 60ex; - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #000; - background-color: #EEF1F7; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; - padding-bottom: 15px; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -body.SRPage { - margin: 5px 2px; -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; -} - -.SRResult { - display: none; -} - -DIV.searchresults { - margin-left: 10px; - margin-right: 10px; -} diff --git a/doc/doxygen/html/search/search.js b/doc/doxygen/html/search/search.js deleted file mode 100644 index 7593007..0000000 --- a/doc/doxygen/html/search/search.js +++ /dev/null @@ -1,734 +0,0 @@ -// Search script generated by doxygen -// Copyright (C) 2009 by Dimitri van Heesch. - -// The code in this file is loosly based on main.js, part of Natural Docs, -// which is Copyright (C) 2003-2008 Greg Valure -// Natural Docs is licensed under the GPL. - -var indexSectionsWithContent = -{ - 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010011111101001111111111010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110101001101001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000110001001101000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010011111101001100010001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111000000110101111010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" -}; - -var indexSectionNames = -{ - 0: "all", - 1: "files", - 2: "functions", - 3: "variables", - 4: "defines" -}; - -function convertToId(search) -{ - var result = ''; - for (i=0;i do a search - { - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() - { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() - { - this.keyTimeout = 0; - - // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - - var code = searchValue.toLowerCase().charCodeAt(0); - var hexCode; - if (code<16) - { - hexCode="0"+code.toString(16); - } - else - { - hexCode=code.toString(16); - } - - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1') - { - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; - } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches.html'; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; - } - - window.frames.MSearchResults.location.href = resultsPageWithSearch; - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline'; - if (this.insideFrame) - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - domPopupSearchResultsWindow.style.position = 'relative'; - domPopupSearchResultsWindow.style.display = 'block'; - var width = document.body.clientWidth - 8; // the -8 is for IE :-( - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResults.style.width = width + 'px'; - } - else - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - } - } - - this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) - { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { - this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } - } - else if (!isActive) // directly remove the panel - { - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') - { - return element; - } - - if (element.nodeName == 'DIV' && element.hasChildNodes()) - { - element = element.firstChild; - } - else if (element.nextSibling) - { - element = element.nextSibling; - } - else - { - do - { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; - } - else - { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; - } - } - } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - parent.document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } -} diff --git a/doc/doxygen/html/search/search_l.png b/doc/doxygen/html/search/search_l.png deleted file mode 100644 index c872f4d..0000000 Binary files a/doc/doxygen/html/search/search_l.png and /dev/null differ diff --git a/doc/doxygen/html/search/search_m.png b/doc/doxygen/html/search/search_m.png deleted file mode 100644 index b429a16..0000000 Binary files a/doc/doxygen/html/search/search_m.png and /dev/null differ diff --git a/doc/doxygen/html/search/search_r.png b/doc/doxygen/html/search/search_r.png deleted file mode 100644 index 97ee8b4..0000000 Binary files a/doc/doxygen/html/search/search_r.png and /dev/null differ diff --git a/doc/doxygen/html/search/variables_5f.html b/doc/doxygen/html/search/variables_5f.html deleted file mode 100644 index 4ae489e..0000000 --- a/doc/doxygen/html/search/variables_5f.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- _lc_buffer - ledcube.h -
-
-
-
- _lc_handle - ledcube.h -
-
-
-
- _lc_pid - ledcube.h -
-
-
-
- _lc_product - ledcube.h -
-
-
-
- _lc_rawPid - ledcube.h -
-
-
-
- _lc_rawVid - ledcube.h -
-
-
-
- _lc_vendor - ledcube.h -
-
-
-
- _lc_vid - ledcube.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_62.html b/doc/doxygen/html/search/variables_62.html deleted file mode 100644 index 7ed2253..0000000 --- a/doc/doxygen/html/search/variables_62.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -
-
Loading...
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_63.html b/doc/doxygen/html/search/variables_63.html deleted file mode 100644 index 837ab9f..0000000 --- a/doc/doxygen/html/search/variables_63.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -
-
Loading...
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_64.html b/doc/doxygen/html/search/variables_64.html deleted file mode 100644 index 01a70f0..0000000 --- a/doc/doxygen/html/search/variables_64.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- delay - main.h -
-
-
-
- drawingArea - main.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_65.html b/doc/doxygen/html/search/variables_65.html deleted file mode 100644 index 06e5dbe..0000000 --- a/doc/doxygen/html/search/variables_65.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - -
-
Loading...
- - - -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_66.html b/doc/doxygen/html/search/variables_66.html deleted file mode 100644 index 52a9e5f..0000000 --- a/doc/doxygen/html/search/variables_66.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
- -
-
- frmnum - main.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_67.html b/doc/doxygen/html/search/variables_67.html deleted file mode 100644 index a5a43b3..0000000 --- a/doc/doxygen/html/search/variables_67.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -
-
Loading...
- - -
-
- glWindow - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_69.html b/doc/doxygen/html/search/variables_69.html deleted file mode 100644 index 80b97bf..0000000 --- a/doc/doxygen/html/search/variables_69.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -
-
Loading...
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_6c.html b/doc/doxygen/html/search/variables_6c.html deleted file mode 100644 index e0a24fd..0000000 --- a/doc/doxygen/html/search/variables_6c.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -
-
Loading...
- - - -
-
- level - main.h -
-
- - - -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_6d.html b/doc/doxygen/html/search/variables_6d.html deleted file mode 100644 index f39333c..0000000 --- a/doc/doxygen/html/search/variables_6d.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -
-
Loading...
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_71.html b/doc/doxygen/html/search/variables_71.html deleted file mode 100644 index 0f068bd..0000000 --- a/doc/doxygen/html/search/variables_71.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -
-
Loading...
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_75.html b/doc/doxygen/html/search/variables_75.html deleted file mode 100644 index 93c42bd..0000000 --- a/doc/doxygen/html/search/variables_75.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/search/variables_77.html b/doc/doxygen/html/search/variables_77.html deleted file mode 100644 index 89e7265..0000000 --- a/doc/doxygen/html/search/variables_77.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- window - main.c -
-
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/doxygen/html/tab_a.png b/doc/doxygen/html/tab_a.png deleted file mode 100644 index 2d99ef2..0000000 Binary files a/doc/doxygen/html/tab_a.png and /dev/null differ diff --git a/doc/doxygen/html/tab_b.png b/doc/doxygen/html/tab_b.png deleted file mode 100644 index b2c3d2b..0000000 Binary files a/doc/doxygen/html/tab_b.png and /dev/null differ diff --git a/doc/doxygen/html/tab_h.png b/doc/doxygen/html/tab_h.png deleted file mode 100644 index c11f48f..0000000 Binary files a/doc/doxygen/html/tab_h.png and /dev/null differ diff --git a/doc/doxygen/html/tab_s.png b/doc/doxygen/html/tab_s.png deleted file mode 100644 index 978943a..0000000 Binary files a/doc/doxygen/html/tab_s.png and /dev/null differ diff --git a/doc/doxygen/html/tabs.css b/doc/doxygen/html/tabs.css deleted file mode 100644 index 2192056..0000000 --- a/doc/doxygen/html/tabs.css +++ /dev/null @@ -1,59 +0,0 @@ -.tabs, .tabs2, .tabs3 { - background-image: url('tab_b.png'); - width: 100%; - z-index: 101; - font-size: 13px; -} - -.tabs2 { - font-size: 10px; -} -.tabs3 { - font-size: 9px; -} - -.tablist { - margin: 0; - padding: 0; - display: table; -} - -.tablist li { - float: left; - display: table-cell; - background-image: url('tab_b.png'); - line-height: 36px; - list-style: none; -} - -.tablist a { - display: block; - padding: 0 20px; - font-weight: bold; - background-image:url('tab_s.png'); - background-repeat:no-repeat; - background-position:right; - color: #283A5D; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; - outline: none; -} - -.tabs3 .tablist a { - padding: 0 10px; -} - -.tablist a:hover { - background-image: url('tab_h.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); - text-decoration: none; -} - -.tablist li.current a { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -}