Я пишу приложение с использованием Xlib. Я поставил на переднем плане окна вверх, как это:Изменение цвета чертежа с помощью Xlib
XSetForeground (dpy, gc, WhitePixel (dpy, scr));
Но теперь мне нужно изменить цвет рисунка на что-то другое, я сначала хотел сделать это так:
void update_window (Display* d, Window w, GC gc, Colormap cmap)
{
XWindowAttributes winatt;
XColor bcolor;
char bar_color[] = "#4E4E4E";
XGetWindowAttributes (d, w, &winatt);
XParseColor(d, cmap, bar_color, &bcolor);
XAllocColor(d, cmap, &bcolor);
// Draws the menu bar.
XFillRectangle (d, w, gc, 0, 0, winatt.width, 30);
XFreeColormap (d, cmap);
}
Но это Безразлично Не работай. Что делают XParseColor и XAllocColor? И нужно ли снова использовать XSetForeground для изменения цвета?