Пример #1
0
int main(int argc, char *argv[]){
    commandline_t mode = { 0 , 0 } ;
    config_t config;                                //コンフィグ読み込み構造体
    config_load(&config);
    
    error_message( mode_check( argv, &mode , argc) );
    if ( mode.server != 0 ){
        error_message(server_main());               //サーバーモードへ
    } else if ( mode.client != 0 ){
        error_message(client_main(&config));               //クライアントモードへ
    }
    return 0;
}
Пример #2
0
void dt_ui_home::dragStart( int x, int y, int button ) {
    if( !mode_check() )
        return;

    app = ofApp::app;
    ofVec2f mpw = app->cam.screenToWorld( ofVec2f(x,y) );
    drag_start_posw = mpw;
    app->cam.dragStartTrans = app->cam.trans;
    drag_target_circle = app->all_containers.note_on_container->getTouchedCircle( mpw );

    if( drag_target_circle )
        drag_start_target_pos = drag_target_circle->data.position;

    app->update_cocoa_ui();
}
Пример #3
0
void dt_ui_home::doubleClickStart( int x, int y, int button ) {
    if( !mode_check() )
        return;

    app = ofApp::app;
    ofVec2f mpw = app->cam.screenToWorld( ofVec2f(x,y) );
    dt_circle_base * c = app->all_containers.note_on_container->getTouchedCircle( mpw );

    if( c ) {
        // circle -> change mode
        app->mode_manager.go_to_zoom_mode( c );
    }

    app->update_cocoa_ui();
}
Пример #4
0
void dt_ui_home::dragging( int x, int y, int button ) {
    if( !mode_check() )
        return;

    app = ofApp::app;
    ofVec2f mpw = app->cam.screenToWorld( ofVec2f(x,y) );
    ofVec2f dist = mpw - drag_start_posw;

    if( drag_target_circle ) {
        // drag circle
        drag_target_circle->data.position = drag_start_target_pos + dist;
        dt_circle_base::selected_circle = drag_target_circle;
    } else {
        // drag camera
        float sensitivity = 0.85;
        app->cam.trans = app->cam.dragStartTrans - dist*sensitivity;
    }

    app->update_cocoa_ui();
}
Пример #5
0
int main()
{
    //check if user wants to mod flash vars
    // also setss up flash on new firmware
    // without which flash cant be modified
    if (! initialise_flash()) {
        // set heartbeat_led on permanently symbolise fail
        quan::stm32::module_enable< heartbeat_led_pin::port_type>();
        quan::stm32::apply<
        heartbeat_led_pin
        , quan::stm32::gpio::mode::output
        , quan::stm32::gpio::otype::push_pull
        , quan::stm32::gpio::pupd::none
        , quan::stm32::gpio::ospeed::slow
        , quan::stm32::gpio::ostate::high
        >();
        while (1) {
            ;
        }
    }

    mode_check();


    setup();

    //create_mavlink_task();
// create_frsky_task();
    //create_heartbeat_task();
    //create_fsk_task();
    create_draw_task();
// create_telem_task();
#if ( QUAN_OSD_BOARD_TYPE !=4)
    create_leds_task();
#endif
    vTaskStartScheduler();

    while (1) {
        ;
    }
}
Пример #6
0
void dt_ui_home::singleClickStart(int x, int y, int button) {
    if( !mode_check() )
        return;

    app = ofApp::app;
    ofVec2f mpw = app->cam.screenToWorld( ofVec2f(x,y) );
    dt_circle_base * c = app->all_containers.note_on_container->getTouchedCircle( mpw );
    if( c ) {
        // circle -> select
        dt_circle_base::selected_circle = c;
    } else {
        bool bShift = ofGetModifierPressed( OF_KEY_SHIFT );
        if( !bShift ) {
            // canvas -> create new circle
            dt_circle_note_on * nc = new dt_circle_note_on();
            nc->setup(ofRandom( dt_config::DT_RHYTHM_SHAPE_SLOT_MIN, dt_config::DT_RHYTHM_SHAPE_SLOT_MAX) );
            nc->data.position = mpw;
            app->all_containers.circle_base_container->addCircle( nc );
            app->all_containers.note_on_container->addCircle( nc );
            dt_circle_base::selected_circle = nc;
        }
    }
    app->update_cocoa_ui();
}