X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=moebius.git;a=blobdiff_plain;f=x11.cc;fp=x11.cc;h=830b40786a7e9dbeef3c2a99a6c5f9bd1eeaede1;hp=b88a5e9da69279a3a59573afb18cdb81ba311972;hb=6e671e517740cb5d1b08973cee0ec71cc104a3f6;hpb=b698808d5c5ec2b0aeda95e04228639d61534555 diff --git a/x11.cc b/x11.cc index b88a5e9..830b407 100644 --- a/x11.cc +++ b/x11.cc @@ -8,16 +8,28 @@ static Parameter x11size("x11size", "X11 window size", 500, 100, 10, 10000); +static unsigned long colour_pixel(Display *display, Colormap cmap, + const char *name) { + XColor colour; + Status st; + st= XAllocNamedColor(display,cmap,name,&colour,&colour); + if (!st) { + cerr << "cannot allocate colour " << name << ", quitting\n"; + exit(1); + } + return colour.pixel; +} + X11Output::X11Output() { XGCValues gcvalues; display= XOpenDisplay(0); window= XCreateSimpleWindow(display, DefaultRootWindow(display), 0,0, x11size,x11size, 0,0,0); - gcvalues.background= 0; + Colormap cmap= DefaultColormap(display,DefaultScreen(display)); + gcvalues.background= colour_pixel(display,cmap,"black"); fabric= XCreateGC(display,window,GCBackground,&gcvalues); - gcvalues.foreground= 1; - gcvalues.background= 1; + gcvalues.foreground= gcvalues.background= colour_pixel(display,cmap,"white"); mesh= XCreateGC(display,window,GCForeground|GCBackground,&gcvalues); XSelectInput(display,window,0); XMapWindow(display,window);