begin process at 2012 02 12 02:33:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Ouverture de plss canaux d'affichages avec Xwindow (urgent)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ouverture de plss canaux d'affichages avec Xwindow (urgent)

mercredi 30 avril 2003 à 13:12:21 | Ouverture de plss canaux d'affichages avec Xwindow (urgent)

mamy

bonjour,


Je réalise un programme en langage C qui utilise principalement l'outil xwindow.
Mon problème est que je n'arrive pas à ouvrir 2 canaux d'affichage .

voilà mon programme me permet de créer deux fenetres sur un poste distant.
j'aimerais donc créer une fenêtre sur un poste distant et une autre fenêtre sur mon poste .

Merci
Mon prog:
(il compile mais il ne s'éxecute pas!)


#include <stdlib.h>
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/keysym.h>



GC gc;
GC gc2;

Display *display;

//deuxieme canal d affichage
Display *display2;

int screen;
int screen2;

Window wina, winb, root, root2;
unsigned long white_pixel, black_pixel;
XSetWindowAttributes attrib;
unsigned long mask_attrib;
int largf,hautf;
Drawable fenetre;
int x,y,i;
unsigned int larg,haut;

//etablir connexion avec un autre ordi

//vbles pour la saisie au clavier
KeySym touche;
int nbre;
char frappe[20]; /*tampon pour la chaine nue*/
int tailtamp=20; /*taille du tampon*/

//initialisation:A CHANGER EN FONCTION DE LA MACHINE !!!
//NE PAS OUBLIER DE DePROTEGER L ECRAN QUI RECOIT PAR LA COMMANDE
//XHOST + ADR IP DE CELUI QUI ENVOIT


main() {
//ouverture d'un premier canal d'affichage
if ((display = XOpenDisplay ("194.214.13.223:0")) == NULL) {
fprintf (stderr, "Can't open Display\n");
fprintf("%s",display);
exit (1);
}

//ouverture d'un second canal d'affichage
if ((display2 = XOpenDisplay ("194.214.13.227:0")) == NULL) {
fprintf (stderr, "Can't open Display\n");
fprintf("%s",display);
exit (1);
}


x=100;y=250;
larg=40;
haut=40;
largf=300;
hautf=300;

gc = DefaultGC (display, screen);

//deuxieme contexte graphique
gc2= XCreateGC(display2,winb,0,0);

screen = DefaultScreen (display);
screen2= DefaultScreen (display2);

root = RootWindow (display, screen);
root2 = RootWindow(display2, screen2);

white_pixel = WhitePixel (display, screen);
black_pixel = BlackPixel (display, screen);
wina = XCreateSimpleWindow (display, root, 0, 0, largf, hautf, 5, black_pixel, white_pixel);

XSelectInput (display, wina, ExposureMask | KeyPressMask );
XStoreName (display, wina, "PING PONG A");
XMapWindow (display, wina);

winb = XCreateSimpleWindow (display2, root2, 0, 0, largf, hautf, 5, black_pixel, white_pixel);
XSelectInput (display2, winb, ExposureMask | KeyPressMask);
XStoreName (display2, winb, "PING PONG B");
XMapWindow (display2, winb);
attrib.bit_gravity = SouthWestGravity;
mask_attrib = CWBitGravity;
XChangeWindowAttributes(display, wina, mask_attrib, &attrib);
attrib.bit_gravity = SouthWestGravity;
XChangeWindowAttributes(display2, winb, mask_attrib, &attrib);

for (;;)
{
int j,p;

XEvent ev;
XNextEvent (display, &ev);
XNextEvent (display2,&ev);
switch (ev.type)
{
case KeyPress:
nbre= XLookupString(&ev,frappe,tailtamp, &touche,0);
if (touche == XK_space)
{
//boucle permettant le deplacement de la balle dans la fenetre b
for (i=0;i<largf;i++){
y=largf-i;
XClearWindow (display2, winb);
XFillArc(display2,winb,gc2,i,y,larg,haut,0,360*64);

//pour ralentir la vitesse de la boucle
for (p=0;p<999999;p++);
}

//boucle permettant le deplacement de la balle dans la fenetre a
for (i=0;i<largf;i++)
{
XClearWindow (display, wina);
XFillArc(display,wina,gc,i,i,larg,haut,0,360*64);
//pour ralentir la vitesse de la boucle
for (j=0;j<999999;j++);
}
}
//else exit(0);
break;
}
}
}

























Cette discussion est classée dans : int, display, attrib, display2, winb


Répondre à ce message

Sujets en rapport avec ce message

trajectoire+synchronisation de fenetres (en C).... [ par mamy ] Bonjour,Voilà en ce moment je découvre (assez péniblement) l'utilisation du système X window pour réaliser un projet.Grace au programme suivant je cr Déplacement et synchronisation dans de 2 fenetres! Langage C !!!! Merci... [ par olivier856 ] Bonjour ,J'ai VRAIMENT besoin de votre aide !!!! Voilà..... le programme (en langage C) ci joint permet de créer deux fenêtres (redimensionnables). Mo Couleurs avec X11 [ par toto000 ] Bonjour,je suis novice en programmation graphique sous X11 et j'aimerai savoir comment afficher un pixel coloré.Je sais qu'il existe une fonction putp C++ OpenGL => Comment fait-on un pointeur sur méthode ? [ par Phenix_ent ] Bonjour,Voilà, je développe un module graphique pour un jeu. L'OpenGL a besoin d'un pointeur sur fonction pour le display, mais ma fonction est dans u Problème classe et main : argument does not match [ par RS8 ] Bonjour,je fais actuellement de 'lOpenGL.Je voudrais avoir deux fichiers : drawing.cpp et main.cppDans le main.cpp il n'y a que le main et dans drawin Recréer la fonction strstr [ par qubs ] Salut, J'aimerais recoder la fonction strstr mais je n'arrive pas a aboutir et a comprendre le fonctionnement, j'aimerais bien un coup de main svp. = problème lecture variable de classe dans un singleton [ par totoscill ] Bonjour, Je rencontre un problème pour lire une variable statique de ma classe singleton "model". En effet dans cette classe, je declare: .h: public [WinAPI] fonctions graphiques [ par riked ] Bonjour (ou bonsoir), Je suis nouveau sur cppfrance et je vient vous exposer mon problème. Je fait actuellement un programme qui à pour but d'affich delete matrice c++ [ par olfamzoughi ] bonjour Je suis débutante en c/c++. j essaye de supprimer une matrice de taille 2*Nb_pt par le code suivant: //////////////////////////////////////// liberation de memoire [ par bobaben ] bonjour, je suis debutant en c++. j'ai un petit souci de liberation de memoire. je voudrai savoir comment peut-on desallouer "new" qui est dans une


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,527 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales