X11[unix]modification de code

fredo10 Messages postés 32 Statut Membre -  
philtrain Messages postés 169 Date d'inscription   Statut Membre Dernière intervention   -
salt a tous, j'ai un petit petard et si vous pouviez m'aider, je vs serrez bcp reconnaissant.voila je ve modifier un code en X11 pour que le trait qu'il me permet de tracer en noir dans ma fenetre a fond blanc qu'il ouvre lorsqu'on l'execute.voici le code :
#include <stdio.h>
#include <X11/Xlib.h>

int main()
{
Display *dpy;
Window win;
int oldx;
int oldy;

if ((dpy = XOpenDisplay(0)) == NULL)
{
fprintf(stderr, "Can't open display");
exit(1);
}
win = XCreateSimpleWindow(dpy,
DefaultRootWindow(dpy),
0, 0, 200, 200, 1,
BlackPixel(dpy, DefaultScreen(dpy)),
WhitePixel(dpy, DefaultScreen(dpy)));
XSelectInput(dpy, win,
ExposureMask|ButtonMotionMask|ButtonReleaseMask);
XMapWindow(dpy, win);
oldx = oldy = -1;
while (1)
{
XEvent xev;

XNextEvent(dpy, &xev);
if (xev.type == Expose)
;
else
if (xev.type == MotionNotify)
{
if (oldx == -1)
XDrawPoint(dpy, win, DefaultGC(dpy, DefaultScreen(dpy)),
xev.xbutton.x, xev.xbutton.y);
else
XDrawLine(dpy, win, DefaultGC(dpy, DefaultScreen(dpy)),
oldx, oldy, xev.xbutton.x, xev.xbutton.y);
oldx = xev.xbutton.x;
oldy = xev.xbutton.y;
}
else
if (xev.type == ButtonRelease)
oldx = oldy = -1;
else
printf("unknown event %d\n", xev.type);
}
}

merci dem'aider a lemodifier pour que le trait qu'ilme permet de tracer soit en couleurs.
A voir également:

1 réponse

philtrain Messages postés 169 Date d'inscription   Statut Membre Dernière intervention   73
 
Bonjour,

La gestion des couleurs est un peu compliquée avec Xlib. Voici un cours qui pourra t'intéresser:

http://www.essi.fr/~buffa/cours/X11_Motif/cours/XlibColor.html

Philippe
0