Exemplo n.º 1
0
void traiter_ButtonPress_sur_mail_graphique(XButtonEvent  xbe){ 
	if(xbe.window == quit_general){
		quit_cliquable=true;
		return;
	}

	int i;
	for(i=0; i< N; i++){
		if(xbe.window == tab_mails[i].quit_button){
			destroy_mail_win_graphique(i);
			return;
		}
	}
	
	for(i=0; i<N; i++){
		if(xbe.window == tab_mails[i].slider){
			XEvent tmp;
			XNextEvent(dpy, &tmp);

			int pos= xbe.y_root;
			while(tmp.type != ButtonRelease){
				if(tmp.type == Expose){
					expose_graphique(tab_mails[i].slider);
				}

				if(tmp.type == MotionNotify){
					int diff= pos - tmp.xmotion.y_root;
					pos= tmp.xmotion.y_root;

					if(tab_mails[i].posslider+diff <= 0 && tab_mails[i].posslider+diff >= -1*(HEIGHT_MAIL_CONTENU- HEIGHT_SLIDER)){
						XMoveWindow(dpy, tab_mails[i].slider, 0, -1 * (tab_mails[i].posslider + diff) );
						tab_mails[i].posslider+= diff;
					}
					if(tab_mails[i].posslider+diff <= 0 && tab_mails[i].posslider+diff >= -1*(HEIGHT_MAIL_CONTENU- HEIGHT_SLIDER))
					XMoveWindow(dpy, tab_mails[i].mail_contenu_inter,0, ((tab_mails[i].posslider + diff)*tab_mails[i].height_contenu_inter) / (HEIGHT_MAIL_CONTENU - HEIGHT_SLIDER) );
				}
				XNextEvent(dpy, &tmp);
			}
			return;
		}
	}

	int tmp= numero_msg(xbe.window);
	if( tmp == -1){
		printf("Erreur lors de la recherche du numero de message\n");
		exit(EXIT_FAILURE);
	}
	if(est_present(tmp)== false){
		init_mail_win_graphique(tmp);
	}
	
}
Exemplo n.º 2
0
void generation_mob_suivante(t_cellule grille[N][M],t_coord personnage){
	t_coord coordonnee;
	init_liste();
	for(coordonnee.x=0;coordonnee.x<N;coordonnee.x++){
		for(coordonnee.y=0;coordonnee.y<M;coordonnee.y++){
			//printf("\nX=%d,Y=%d",coordonnee.x,coordonnee.y);
			if(grille[coordonnee.x][coordonnee.y]==ennemi && !est_present(coordonnee) && chemin_possible(grille,personnage,coordonnee)){
				recherche_chemin(grille,coordonnee,personnage);
				en_queue();
				ajout_droit(coordonnee);
			}
		}
	}
	vider_liste();
}