Пример #1
0
int GraphicGUI::keypress_event()
{
	if(get_keypress() == BACKSPACE ||
		get_keypress() == DELETE)
	{
		if(plugin->active_point_exists())
		{
			int point_number = -1;
			for(int i = 0; i < plugin->config.points.size(); i++)
			{
				if(i == plugin->active_point)
				{
					point_number = i;
					break;
				}
			}
			
			if(point_number >= 0)
			{
				plugin->config.delete_point(point_number);
				canvas->process(0, 0, 1);
				plugin->send_configure_change();
				return 1;
			}
		}
	}
	return 0;
}
Пример #2
0
int RecordMonitorGUI::keypress_event()
{
	int result = 0;

	switch(get_keypress()) {
	case LEFT:
		if( !ctrl_down() ) { 
			record->record_gui->set_translation(--(record->video_x), record->video_y, record->video_zoom);
		}
		else {
			record->video_zoom -= 0.1;
			record->record_gui->set_translation(record->video_x, record->video_y, record->video_zoom);
		}
		result = 1;
		break;
	case RIGHT:
		if( !ctrl_down() ) { 
			record->record_gui->set_translation(++(record->video_x), record->video_y, record->video_zoom);
		}
		else {
			record->video_zoom += 0.1;
			record->record_gui->set_translation(record->video_x, record->video_y, record->video_zoom);
		}
		result = 1;
		break;
	case UP:
		if( !ctrl_down() ) { 
			record->record_gui->set_translation(record->video_x, --(record->video_y), record->video_zoom);
		}
		else {
			record->video_zoom -= 0.1;
			record->record_gui->set_translation(record->video_x, record->video_y, record->video_zoom);
		}
		result = 1;
		break;
	case DOWN:
		if( !ctrl_down() ) { 
			record->record_gui->set_translation(record->video_x, ++(record->video_y), record->video_zoom);
		}
		else {
			record->video_zoom += 0.1;
			record->record_gui->set_translation(record->video_x, record->video_y, record->video_zoom);
		}
		result = 1;
		break;
	case 'w':
		close_event();
		break;

	default:
		if(canvas) result = canvas->keypress_event(this);
		if(!result && avc1394_transport)
			result = avc1394_transport->keypress_event(get_keypress());
		break;
	}

	return result;
}
Пример #3
0
int VWindowGUI::keypress_event()
{
	int result = 0;
	switch(get_keypress())
	{
		case 'w':
		case 'W':
			close_event();
			result = 1;
			break;
		case 'z':
			mwindow->undo_entry(this);
			break;
		case 'Z':
			mwindow->redo_entry(this);
			break;
		case 'f':
			unlock_window();
			if(mwindow->session->vwindow_fullscreen)
				canvas->stop_fullscreen();
			else
				canvas->start_fullscreen();
			lock_window("VWindowGUI::keypress_event 1");
			break;
		case ESC:
			unlock_window();
			if(mwindow->session->vwindow_fullscreen)
				canvas->stop_fullscreen();
			lock_window("VWindowGUI::keypress_event 2");
			break;
	}
	if(!result) result = transport->keypress_event();
	
	return result;
}
Пример #4
0
long input(long ch)
{
    if (ch == -1) {
        ch = get_keypress();
    }
    return convert_to_dialog_key(ch);
}
Пример #5
0
int BC_Pot::keypress_event()
{
	int result = 0;
	switch(get_keypress())
	{
		case UP:
			increase_value();
			result = 1;
			break;
		case DOWN:
			decrease_value();
			result = 1;
			break;
		case LEFT:
			decrease_value();
			result = 1;
			break;
		case RIGHT:
			increase_value();
			result = 1;
			break;
	}

	if(result)
	{
		show_value_tooltip();
		draw(1);
		handle_event();
	}
	return result;
}
Пример #6
0
long input(long ch)
{
    if (ch == -1) {
        ch = get_keypress();
    }

    switch (ch) {
    case KEY_UP:
        return 'k';
    case KEY_LEFT:
        return 'h';
    case KEY_RIGHT:
        return 'l';
    case KEY_DOWN:
        return 'j';
    case KEY_NPAGE:
        return '>';
    case KEY_PPAGE:
        return '<';
    case 459:
        return '\n';
    default:
        return ch;
    }
}
Пример #7
0
int ChannelTumbler::keypress_event()
{
	if(get_keypress() == PGUP)
	{
		handle_up_event();
		return 1;
	}
	else
	if(get_keypress() == PGDN)
	{
		handle_down_event();
		return 1;
	}
	else
	return 0;
}
Пример #8
0
mvcp_error_code client_run_menu( client demo, client_menu menu )
{
	const char *items = "123456789abcdefghijklmnopqrstuvwxyz";
	int refresh_menu = 1;
	int terminated = 0;
	int item_count = 0;
	int item_selected = 0;
	int index = 0;
	char key;

	while( !terminated )
	{

		if ( refresh_menu )
		{
			printf( "%s\n\n", menu->description );
			for ( index = 0; menu->array[ index ].option != NULL; index ++ )
				printf( "%c: %s\n", items[ index ], menu->array[ index ].option );
			printf( "0: Exit\n\n" );
			printf( "Select Option: " );
			refresh_menu = 0;
			item_count = index;
		}

		key = get_keypress( );

		if ( demo->disconnected && key != '0' )
		{
			mvcp_error_code error = mvcp_connect( demo->dv );
			if ( error == mvcp_ok )
				demo->disconnected = 0;
			else
				beep();
		}

		if ( !demo->disconnected || key == '0' )
		{
			item_selected = strchr( items, key ) - items;

			if ( key == '0' )
			{
				printf( "%c\n\n", key );
				terminated = 1;
			}
			else if ( item_selected >= 0 && item_selected < item_count )
			{
				printf( "%c\n\n", key );
				menu->array[ item_selected ].function( demo );
				refresh_menu = 1;
			}
			else
			{
				beep( );
			}
		}
	}

	return mvcp_ok;
}
Пример #9
0
int RecordGUILabel::keypress_event()
{
	if(get_keypress() == 'l')
	{
		handle_event();
		return 1;
	}
	return 0;
}
Пример #10
0
int PreferencesCancel::keypress_event()
{
	if(get_keypress() == ESC)
	{
		thread->window->set_done(1);
		return 1;
	}
	return 0;
}
Пример #11
0
int MenuEffectWindowOK::keypress_event() 
{ 
	if(get_keypress() == RETURN) 
	{ 
		handle_event(); 
		return 1; 
	}
	return 0;
}
Пример #12
0
/**
 * Get complete key (press and release), ignoring other releases. Return key
 * index
 */
int
get_key ( void )
{
	int key;
	int state;

	/* Ignore UPs from previous keypresses */
	do
	{
		key = get_keypress( &state );
	}
	while ( state != DOWN );

	/* Ignore other DOWNs while waiting for our key's UP */
	while ( get_keypress( &state ) != key );

	return key;
}
Пример #13
0
int PreferencesOK::keypress_event()
{
	if(get_keypress() == RETURN)
	{
		thread->window->set_done(0);
		return 1;
	}
	return 0;
}
Пример #14
0
int MenuEffectWindowCancel::keypress_event() 
{ 
	if(get_keypress() == ESC) 
	{ 
		handle_event(); 
		return 1; 
	}
	return 0;
}
Пример #15
0
int ToTextBox::handle_event()
{
	if(get_keypress() == 13)
	{
		zoombar->set_selection(SET_TO);
		return 1;
	}
	return 0;
}
Пример #16
0
int LengthTextBox::handle_event()
{
	if(get_keypress() == 13)
	{
		zoombar->set_selection(SET_LENGTH);
		return 1;
	}
	return 0;
}
Пример #17
0
int SynthWindow::keypress_event()
{
	if(ctrl_down() && get_keypress() == 'w')
	{
		set_done(1);
		return 1;
	}
	return 0;
}
Пример #18
0
void ranger_pd_init()
{
	unsigned char tempnum = 0;
	lcd_clear();
	lcd_print("Please input a 4-digit ranger KP\r\n");
	tempnum = get_keypress();
	ranger_kp = tempnum * 1000;
	tempnum = get_keypress();
	ranger_kp += tempnum * 100;
	tempnum = get_keypress();
	ranger_kp += tempnum * 10;
	tempnum = get_keypress();
	ranger_kp += tempnum * 1;
	
	lcd_clear();
	lcd_print("The ranger KP is %d\r\n", ranger_kp);
	wait(1000);
	
	lcd_clear();
	lcd_print("Please input a 4-digit ranger KD\r\n");
	tempnum = get_keypress();
	ranger_kd = tempnum * 1000;
	tempnum = get_keypress();
	ranger_kd += tempnum * 100;
	tempnum = get_keypress();
	ranger_kd += tempnum * 10;
	tempnum = get_keypress();
	ranger_kd += tempnum * 1;
	
	lcd_clear();
	lcd_print("The ranger KD is %d\r\n", ranger_kp);
	wait(1000);
	
	lcd_clear();
	lcd_print("the ranger KP is: %d and KD is: %d\r\n");
	lcd_print("are these the correct values?\r\n1 = yes, other = no");
	
	tempnum = get_keypress();
	if (tempnum == 1)
	{
	}
	else
	{
		ranger_pd_init();
	}
	
	return;
	
}
Пример #19
0
int RecordGUICancel::keypress_event()
{
	if(get_keypress() == ESC)
	{
		handle_event();
		return 1;
	}

	return 0;
}
Пример #20
0
int ManualGotoNumber::keypress_event()
{
    int in_textlen = strlen(get_text());
    int key = get_keypress();

    if (key == '+')
    {
        window->signtitle->update("+");
        return 1;
    }
    if (key == '-')
    {
        window->signtitle->update("-");
        return 1;
    }
    if (key == '=')
    {
        window->signtitle->update("=");
        return 1;
    }

    int ok_key = 0;
    if ((key >= '0' && key <='9') ||
            (key == ESC) ||  (key == RETURN) ||
            (key == TAB) ||  (key == LEFTTAB) ||
            (key == '.') ||
            (key == LEFT) || (key == RIGHT) ||
            (key == UP) ||   (key == DOWN) ||
            (key == PGUP) || (key == PGDN) ||
            (key == END) ||  (key == HOME) ||
            (key == BACKSPACE) || (key == DELETE) ||
            (ctrl_down() && (key == 'v' || key == 'V' || key == 'c' || key == 'C' || key == 'x' || key == 'X')))
        ok_key = 1;

    if (in_textlen >= chars && key >= '0' && key <= '9' && !select_whole_text(0))
        ok_key = 0;

    if (!ok_key) return 1;


// treat dot as tab - for use from numerical keypad
    if (key == '.')
    {
        cycle_textboxes(1);
        return 1;
    };

    int result = BC_TextBox::keypress_event();
    int out_textlen = strlen(get_text());
    // automatic cycle when we enter two numbers
    if (key != TAB && out_textlen == chars && get_ibeam_letter() == chars)
        cycle_textboxes(1);
    return result;
}
Пример #21
0
void wait_for_any_key( char *message )
{
	if ( message == NULL )
		printf( "Press any key to continue: " );
	else
		printf( "%s", message );

	get_keypress( );

	printf( "\n\n" );
}
Пример #22
0
int BC_FileBox::keypress_event()
{
	switch(get_keypress())
	{
		case 'w':
			if(ctrl_down()) set_done(1);
			return 1;
			break;
	}
	return 0;
}
Пример #23
0
int BatchRenderCancel::keypress_event()
{
	if(get_keypress() == ESC) 
	{
		unlock_window();
		thread->stop_rendering();
		lock_window("BatchRenderCancel::keypress_event");
		thread->gui->set_done(1);
		return 1;
	}
	return 0;
}
Пример #24
0
int GWindowGUI::keypress_event()
{
	switch(get_keypress())
	{
		case 'w':
		case 'W':
			if(ctrl_down())
			{
				close_event();
				return 1;
			}
			break;
	}
	return 0;
}
Пример #25
0
int main(void) {
    srand(time(NULL));
    SDL_Init(SDL_INIT_EVERYTHING);
    screen = SDL_SetVideoMode(WIDTH, HEIGHT, 32, SDL_HWSURFACE);

    make_map();
    heightmap_to_screen();
    SDL_Flip(screen);

    while(1)
        get_keypress();
   
    SDL_FreeSurface(screen);
    SDL_Quit();

    return 0;
}
Пример #26
0
// If we're using curses, we need to provide get_input_event() here.
input_event input_manager::get_input_event(WINDOW *win)
{
    previously_pressed_key = 0;
    (void)win; // unused
    int key = get_keypress();
    input_event rval;
    if (key == ERR) {
        if (input_timeout > 0) {
            rval.type = CATA_INPUT_TIMEOUT;
        } else {
            rval.type = CATA_INPUT_ERROR;
        }
#if !(defined TILES || defined SDLTILES || defined _WIN32 || defined WINDOWS || defined __CYGWIN__)
        // ncurses mouse handling
    } else if (key == KEY_MOUSE) {
        MEVENT event;
        if (getmouse(&event) == OK) {
            rval.type = CATA_INPUT_MOUSE;
            rval.mouse_x = event.x - VIEW_OFFSET_X;
            rval.mouse_y = event.y - VIEW_OFFSET_Y;
            if (event.bstate & BUTTON1_CLICKED) {
                rval.add_input(MOUSE_BUTTON_LEFT);
            } else if (event.bstate & BUTTON3_CLICKED) {
                rval.add_input(MOUSE_BUTTON_RIGHT);
            } else if (event.bstate & REPORT_MOUSE_POSITION) {
                rval.add_input(MOUSE_MOVE);
                if (input_timeout > 0) {
                    // Mouse movement seems to clear ncurses timeout
                    set_timeout(input_timeout);
                }
            } else {
                rval.type = CATA_INPUT_ERROR;
            }
        } else {
            rval.type = CATA_INPUT_ERROR;
        }
#endif
    } else {
        rval.type = CATA_INPUT_KEYBOARD;
        previously_pressed_key = key;
        rval.add_input(key);
    }

    return rval;
}
Пример #27
0
	int keypress_event()
	{
		switch(get_keypress())
		{
			case UP:
				current_cursor += 1;
				if(current_cursor >= XC_num_glyphs) current_cursor = 0;
				break;
			
			case DOWN:
				current_cursor -= 1;
				if(current_cursor <= 0) current_cursor = XC_num_glyphs - 1;
				break;
		}
		printf("%d\n", current_cursor);
//		set_x_cursor(current_cursor);
set_cursor(TRANSPARENT_CURSOR);
	}
Пример #28
0
// Gets input from both keyboard and mouse
mapped_input get_input_from_kyb_mouse()
{
    input_event raw_event;

#if (defined TILES || defined SDLTILES)
        raw_event = getch_kyb_mouse();
#else
        raw_event.type = CATA_INPUT_KEYBOARD;
        raw_event.add_input(get_keypress());
#endif

    mapped_input mapped;
    mapped.evt = raw_event;
    if (raw_event.type != CATA_INPUT_MOUSE) {
        mapped.command = get_input(raw_event.get_first_input());
    }

    return mapped;
}
Пример #29
0
int SynthNote::keypress_event()
{
	if(number >= FIRST_TITLE && number < LAST_TITLE)
	{
		if(get_keypress() == keyboard_map[number - FIRST_TITLE][0])
		{
			if((ctrl_down() || shift_down()) &&
				window->synth->freq_exists(keyboard_freqs[number]))
			{
				stop_note();
			}
			else
			{
				start_note();
				set_value(1);
			}

// Key releases are repeated, so momentary notes may not work
			return 1;
		}
	}
	return 0;
}
Пример #30
0
int QuestionNoButton::keypress_event()
{
	if(get_keypress() == 'n') { handle_event(); return 1; }
	return 0;
}