X11[unix]modification de code

Fermé
fredo10 Messages postés 31 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 4 février 2006 - 26 janv. 2006 à 16:40
philtrain Messages postés 169 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 25 juillet 2010 - 26 janv. 2006 à 19:27
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 lundi 7 novembre 2005 Statut Membre Dernière intervention 25 juillet 2010 73
26 janv. 2006 à 19:27
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