Beispiel #1
0
void pdf_mode()
{
	if (scale >= 200 && ! reflow_mode)
	{
		area_selector();
	}
	else if (reflow_mode)
	{
		reflow_mode = 0;
		out_page(1);
	}
	else
	{
		reflow_mode = 1;
		if (rscale < 150) rscale = 150;
		out_page(1);
	}
}
Beispiel #2
0
void gui(struct atrf_dsc *dsc)
{
	SDL_Surface *surf;
	int z[N_CHAN*N_TIME];
	SDL_Event event;

	memset(z, 0, sizeof(z));
	gettimeofday(&t0, NULL);
	
	if (SDL_Init(SDL_INIT_VIDEO) < 0) {
		fprintf(stderr, "SDL_init: %s\n", SDL_GetError());
		exit(1);
	}
	atexit(SDL_Quit);

	get_key_init();

	surf = SDL_SetVideoMode(XRES, YRES, 0, SDL_SWSURFACE);
	if (!surf) {
		fprintf(stderr, "SDL_SetVideoMode: %s\n", SDL_GetError());
		exit(1);
	}

	while (1) {
		while (SDL_PollEvent(&event)) {
			switch (event.type) {
			case SDL_KEYDOWN:
				switch (event.key.keysym.sym) {
				case SDLK_j:
					wlan_area = area_jp;
					break;
				case SDLK_e:
					wlan_area = area_eu;
					break;
				case SDLK_u:
					wlan_area = area_us;
					break;
				case SDLK_q:
					return;
				default:
					break;
				}
				break;
			case SDL_QUIT:
				return;
			default:
				break;
			}
		}

		switch (get_key()) {
		case 'J':
		case 'j':
			wlan_area = area_jp;
			break;
		case 'E':
		case 'e':
			wlan_area = area_eu;
			break;
		case 'U':
		case 'u':
			wlan_area = area_us;
			break;
		case 'Q':
		case 'q':
			return;
		default:
			break;
		}

		shift_grid(z, N_CHAN, N_TIME);
		sweep(dsc, z);

		SDL_LockSurface(surf);

		clear(surf);
		zgrid_draw(surf, z, N_CHAN, N_TIME,
		    X_STEP, Y_STEP, X_STEP_Y,
		    X_OFFSET, Y_OFFSET,
		    FG_RGBA, BG_RGBA);
		label_channels(surf, X_STEP, X_OFFSET, Y_OFFSET);
		area_selector(surf, X_SEL, Y_SEL);
		if (wlan_area != area_off)
			label_wlan_channels(surf, X_STEP, X_WLAN_OFFSET,
			    Y_WLAN_OFFSET);

		SDL_UnlockSurface(surf);
		SDL_UpdateRect(surf, 0, 0, 0, 0);
	}
}