Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1950 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C] xlib (edit: ca marche!)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] xlib (edit: ca marche!)

n°277599
Profil sup​primé
Posté le 30-12-2002 à 18:31:37  answer
 

voilà, maintenant que je peux compiler, je fais du x [:dawa]
 
seulement, mon programme n'affiche rien, la fenêtre se crée bien, les événements sont ok ... mais ca ne dessine rien
 
ca doit être qc de vraiment con sur la variable "draw", mais vu que je connais pas bien du tout tout ca, je coince.
j'y ai bien passé tout l'après midi, mais sans succès
 
voilà le morceau
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <X11/Xlib.h>
  4. #include <X11/Xutil.h>
  5. #include <X11/Xos.h>
  6. #include <X11/Xatom.h>
  7. #include <X11/keysym.h>
  8. int main() {
  9. int screen, i;
  10. Display *display;
  11. Window root, window;
  12. long fgcolor, bgcolor;
  13. XEvent event;
  14. long eventmask = KeyPressMask;
  15. XGCValues gcval;
  16. GC draw;
  17. XColor color, ignore;
  18. char *colorname = "red";
  19. Colormap colormap;
  20. display = XOpenDisplay(NULL);
  21. root = RootWindow(display, screen = DefaultScreen(display));
  22. fgcolor = BlackPixel (display, screen);
  23. bgcolor = WhitePixel (display, screen);
  24. window = XCreateSimpleWindow(display, root, 1, 1, 200, 200, 0,
  25. fgcolor, bgcolor);
  26. XSelectInput(display, window, eventmask);
  27. XMapWindow(display, window);
  28. colormap = DefaultColormap (display, screen);
  29. XAllocNamedColor(display,colormap, colorname, &color, &ignore);
  30. fgcolor = color.pixel;
  31. gcval.foreground = fgcolor;
  32. gcval.background = bgcolor;
  33. draw = XCreateGC(display, window, GCForeground|GCBackground, &gcval);
  34. for(;;) {
  35.  XWindowEvent(display, window, eventmask, &event );
  36.  switch( event.type ) {
  37.   case Expose:
  38.    XDrawRectangle(display,window,draw,10,10, 180, 180);
  39.    break;
  40.   case KeyPress:
  41.    exit(0);
  42.  }
  43. }
  44. return(0);
  45. }


Message édité par Profil supprimé le 01-01-2003 à 17:19:24
mood
Publicité
Posté le 30-12-2002 à 18:31:37  profilanswer
 

n°277601
Olivier51
Posté le 30-12-2002 à 18:39:02  profilanswer
 

Désolé, je ne vais pas pouvoir t'aider, mais où as-tu trouver des entêtes X, je ne les ai pas chez moi ...

n°277602
Profil sup​primé
Posté le 30-12-2002 à 18:39:51  answer
 

Olivier51 a écrit :

Désolé, je ne vais pas pouvoir t'aider, mais où as-tu trouver des entêtes X, je ne les ai pas chez moi ...

les .h?
/usr/X11R6/lib/

n°277606
Olivier51
Posté le 30-12-2002 à 18:51:04  profilanswer
 

Chez moi je les ai pas ...

n°277608
Profil sup​primé
Posté le 30-12-2002 à 18:52:04  answer
 

Olivier51 a écrit :

Chez moi je les ai pas ...

[:meganne]
tu ne compiles rien chez toi?
gcc pouet.c -o pouet.out -L/usr/X11R6/lib -lX11
des fois c dans /usr/X11/lib


Message édité par Profil supprimé le 30-12-2002 à 18:53:25
n°277635
Profil sup​primé
Posté le 30-12-2002 à 19:51:31  answer
 

je ne comprends rien, ya pas deux programmes qui font la meme chose qui sont identiques  :o
 
edit: ca fait 7 heures que je suis sur ce pb, ras le cul :o


Message édité par Profil supprimé le 30-12-2002 à 20:25:56
n°277706
Profil sup​primé
Posté le 30-12-2002 à 22:49:59  answer
 

j'ai un peu allégé, mais je ne vois tjs pas où est l'erreur ...
 
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <X11/Xlib.h>
  4. #include <X11/Xutil.h>
  5. #include <X11/Xos.h>
  6. #include <X11/Xatom.h>
  7. #include <X11/keysym.h>
  8. int main() {
  9. int screen, i;
  10. Display *display;
  11. Window root, window;
  12. long fgcolor, bgcolor;
  13. XEvent event;
  14. long eventmask = KeyPressMask;
  15. XGCValues gcval;
  16. GC draw;
  17. XColor color, ignore;
  18. char *colorname = "red";
  19. Colormap colormap;
  20. display = XOpenDisplay(NULL);
  21. root = RootWindow(display, screen = DefaultScreen(display));
  22. fgcolor = BlackPixel(display, screen);
  23. bgcolor = WhitePixel(display, screen);
  24. window = XCreateSimpleWindow(display, root, 1, 1, 200, 200, 0,
  25. fgcolor, bgcolor);
  26. XSelectInput(display, window, eventmask);
  27. XMapWindow(display, window);
  28. //l'erreur se trouve entre ici
  29. colormap = DefaultColormap (display, screen);
  30. draw = XCreateGC(display, window, 0, 0);
  31. XSetForeground(display,draw, bgcolor);
  32. //et là ...
  33. XFlush(display);
  34. XDrawRectangle(display,window,draw,10,10, 180, 180);
  35. XFlush(display);
  36. for(;;) {
  37.  XWindowEvent(display, window, eventmask, &event );
  38.  switch( event.type ) {
  39.   case Expose:
  40.    XDrawRectangle(display,window,draw,10,10, 180, 180);
  41.    XFlush(display);
  42.    break;
  43.   case KeyPress:
  44.    exit(0);
  45.  }
  46. }
  47. return(0);
  48. }


Message édité par Profil supprimé le 30-12-2002 à 22:51:07
n°278003
Profil sup​primé
Posté le 01-01-2003 à 14:56:44  answer
 

[:dawa]

n°278078
Profil sup​primé
Posté le 01-01-2003 à 17:19:45  answer
 

cai bon!
 
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <X11/Xlib.h>
  4. #include <X11/Xutil.h>
  5. #include <X11/Xos.h>
  6. #include <X11/Xatom.h>
  7. #include <X11/keysym.h>
  8. int main() {
  9. int screen;
  10. Display *display;
  11. Window root, window;
  12. long fgcolor, bgcolor;
  13. XEvent event;
  14. long eventmask = KeyPressMask;
  15. GC draw;
  16. //XColor color;
  17. Colormap colormap;
  18. display = XOpenDisplay(NULL);
  19. root = RootWindow(display, screen = DefaultScreen(display));
  20. fgcolor = BlackPixel(display, screen);
  21. bgcolor = WhitePixel(display, screen);
  22. window = XCreateSimpleWindow(display, root, 1, 1, 200, 200, 0,
  23. fgcolor, bgcolor);
  24. XSelectInput(display, window, eventmask);
  25. XMapWindow(display, window);
  26. colormap = DefaultColormap(display, screen);
  27. draw = XCreateGC(display, window, fgcolor,0);
  28. for(;;) {
  29.  XWindowEvent(display, window, eventmask, &event );
  30.  switch( event.type ) {
  31.   case Expose:
  32.    XDrawRectangle(display,window,draw,10,10, 180, 180);
  33.    printf("expose\n" );
  34.    XFlush(display);
  35.    break;
  36.   case KeyPress:
  37.    XDrawRectangle(display,window,draw,10,10, 180, 180);
  38.    XDrawLine(display,window,draw,10,10,190,190);
  39.    XDrawLine(display,window,draw,10,190,190,10);
  40.    XFlush(display);
  41.    sleep(3);
  42.    exit(0);
  43.  }
  44. }
  45. return(0);
  46. }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C] xlib (edit: ca marche!)

 

Sujets relatifs
pourquoi ma fonction d'1 ligne marche pas(lire dans un fichier ascii) pourquoi mon programme ne marche pas ?
pourquoi ça marche pas ça?Connection en SYSDBA masterkey en localhost , ne marche pas ,help!!!!
numero des versions,comment ca marche?[JS] verif de formulaire qui marche pas
[Progress] Fonction Accumulate qui marche pasCOOKIE => marche pô avec free ???!!!! [ - Job's Done - ]
Chmod ne marche pas sous free ?Dev c++ ca marche ou ce compilateur est une blague ?
Plus de sujets relatifs à : [C] xlib (edit: ca marche!)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR