Beispiel #1
0
void processNormalKeys(unsigned char key, int x, int y){
	
	if(key ==27){			//'esc' to exit
		exit(0);
	}
	else if(key == 104){	//'h' to show handmap or palmpoint
		switchShowHand();
	}
	else if(key == 100){	//'d' to show front buffer or back bufferr
		switch_buffer();
		if(get_buffer()) printf("switch buffer to front\n");
		else 	printf("switch buffer to back\n");
	}
	else if(key == 111) {//'o' to train value = open hand
		//////////////set_print_training(2);
		// grab
		set_print_training(true);
	}

	else if(key == 112) {// 'p' to train value = close hand
		///////////////set_print_training(1);
		// no grab
		set_print_training(false);
	}
	else if(key == 49){ //'1' for rotate X
			commitScene(-2, 0, 0);
			recalNormal();
	}
	else if(key == 50){ //'2' for rotate y
			commitScene(2, 0, 0);
			recalNormal();
	}
	else if(key == 51){ //'3' for line effect
			commitScene(0, -2, 0);
			recalNormal();
	}
	else if(key == 52){ //'4' for line effect
			commitScene(0, 2, 0);
			recalNormal();
	}
	else if(key == 53){ //'5' for line effect
			switchLine();
	}
	else if(key == 54){
		preview = !preview;
	}
	else
		printf("key: %d\n", key);
}
Beispiel #2
0
int l_switch_buffer(lua_State *L) {
  int id = lua_tonumber(L, 1);
  int result = switch_buffer(id);
  lua_pushnumber(L, result);
  return 1;
}
Beispiel #3
0
int main(int argc, char **argv)
{
	int retour;
	t_data data;

	if ( !(argc == 2 || argc == 3))
		return (-1);
	
	if (argc == 3)
	{
		retour = read_pal(&data, argv[2]);
	}
	else
	{
	data.palette = (t_palette *) malloc(sizeof(t_palette));
	data.palette[0].start_color = int_to_color4(0x00FFFFFF);
	data.palette[0].end_color = int_to_color4(0x00FFFFFF);
	data.palette[0].start_range = 0;
	data.palette[0].end_range = 1;
	}
	if ((data.mlx_ptr = mlx_init()) == NULL)
	{
		printf("I can't open the display\n");
		return (EXIT_FAILURE);
	}
	data.screen_width = 1024;
	data.screen_height = 768;
	data.canvas_width = data.screen_width - 100 - 1;
	data.canvas_height = data.screen_height - 2;
	data.back_buffer = 1;
	data.front_buffer = 0;
	data.anime = 1;
	if ((data.mlx_win = mlx_new_window(data.mlx_ptr, data.screen_width,
		data.screen_height, "MonCube")) == NULL)
		return (EXIT_FAILURE);
	retour = mlx_key_hook(data.mlx_win, my_key_on_release_funct, &data);
	retour = mlx_loop_hook(data.mlx_ptr, my_loop_funct, &data);
	retour = mlx_mouse_hook(data.mlx_win,my_mouse_on_click_funct, &data);
	retour = mlx_expose_hook(data.mlx_win, my_expose_funct, &data);
	retour = mlx_hook(data.mlx_win, KeyPress, KeyPressMask,
		my_key_on_maintain_funct, &data);
	retour = mlx_hook(data.mlx_win, MotionNotify, PointerMotionMask,
		my_mouse_on_move_funct, &data);
	retour = mlx_hook(data.mlx_win, ButtonRelease, ButtonReleaseMask,
		my_mouse_on_release_funct, &data);

	print_menu(&data);
	data.put_in_canvas = false;
	fdf_bline(&data, data.canvas_width + 1, 0, data.canvas_width + 1, data.screen_height
		- 1, 0x00CFCFCF);
	fdf_bline(&data,data.screen_width - 1, 0, data.screen_width - 1,
		data.screen_height - 1, 0x00CFCFCF);
	fdf_bline(&data, 0, 0, 0, data.screen_height - 1, 0x00CFCFCF);
	fdf_bline(&data, 0, data.screen_height - 1, data.screen_width - 1,
		data.screen_height - 1, 0x00CFCFCF);
//	draw_square(&data, data.canvas_width + 2, 0, data.screen_width - 2, 
//		data.screen_height - 2, 0x00CFCFCF);
	data.put_in_canvas = true;

	data.img[data.back_buffer] = mlx_new_image(data.mlx_ptr, data.canvas_width
		, data.canvas_height);
	data.canvas[data.back_buffer] = (int *) mlx_get_data_addr(
		data.img[data.back_buffer], &data.bpp, &data.sizeline, &data.endian);
	data.img[data.front_buffer] = mlx_new_image(data.mlx_ptr, data.canvas_width
		, data.canvas_height);
	data.canvas[data.front_buffer] = (int *) mlx_get_data_addr(
		data.img[data.front_buffer], &data.bpp, &data.sizeline, &data.endian);

	start_fdf(&data, read_file(argv[1]));
//	print_my_cube(&data);

	switch_buffer(&data);
	mlx_put_image_to_window(data.mlx_ptr, data.mlx_win,
		data.img[data.front_buffer], 1, 1);

	if (retour == 1)
		return 0;
	retour = mlx_do_key_autorepeaton(data.mlx_ptr);
	mlx_loop(data.mlx_ptr);
	return (EXIT_SUCCESS);
}