/* This file is part of
* ======================================================
- *
+ *
* LyX, The Document Processor
- *
+ *
* Copyright 1998-2001 The LyX Team
*
*======================================================*/
using std::endl;
-LyXColorHandler::LyXColorHandler()
+LyXColorHandler::LyXColorHandler()
{
display = GUIRunTime::x11Display();
drawable = XCreatePixmap(display,
RootWindow(display, GUIRunTime::x11Screen()),
10, 10,
GUIRunTime::x11VisualDepth());
-
+
colormap = GUIRunTime::x11Colormap();
// Clear the GC cache
for (int i = 0; i <= LColor::ignore; ++i) {
//if (lyxerr.debugging()) {
// lyxerr << "Painter drawable: " << drawable() << endl;
//}
-
- if (colorGCcache[c] != 0)
+
+ if (colorGCcache[c] != 0)
return colorGCcache[c];
XColor xcol;
// Look up the RGB values for the color, and an approximate
// color that we can hope to get on this display.
- if (XLookupColor(display, colormap, s.c_str(), &xcol, &ccol) == 0) {
+ if (XLookupColor(display, colormap, s.c_str(), &xcol, &ccol) == 0) {
lyxerr << _("LyX: Unknown X11 color ") << s
<< _(" for ") << lcolor.getGUIName(c) << '\n'
- << _(" Using black instead, sorry!.") << endl;
+ << _(" Using black instead, sorry!") << endl;
unsigned long bla = BlackPixel(display,
DefaultScreen(display));
val.foreground = bla;
} else if (XAllocColor(display, colormap, &xcol) != 0) {
if (lyxerr.debugging(Debug::GUI)) {
lyxerr << _("LyX: X11 color ") << s
- << _(" allocated for ")
+ << _(" allocated for ")
<< lcolor.getGUIName(c) << endl;
}
val.foreground = xcol.pixel;
double closest_distance = 1e20; // we want to minimize this
double distance = 0;
for (int t = 0; t < vi->map_entries; ++t) {
- // The Euclidean distance between two points in
+ // The Euclidean distance between two points in
// a three-dimensional space, the RGB color-cube,
// is used as the distance measurement between two
// colors.
// Since square-root is monotonous, we don't have to
- // take the square-root to find the minimum, and thus
+ // take the square-root to find the minimum, and thus
// we use the squared distance instead to be faster.
// If we want to get fancy, we could convert the RGB
closest_pixel = t;
}
}
- lyxerr << _("LyX: Couldn't allocate '") << s
+ lyxerr << _("LyX: Couldn't allocate '") << s
<< _("' for ") << lcolor.getGUIName(c)
- << _(" with (r,g,b)=(")
+ << _(" with (r,g,b)=(")
<< xcol.red << "," << xcol.green << ","
<< xcol.blue << ").\n"
<< _(" Using closest allocated "
- "color with (r,g,b)=(")
+ "color with (r,g,b)=(")
<< cmap[closest_pixel].red << ","
<< cmap[closest_pixel].green << ","
<< cmap[closest_pixel].blue << _(") instead.\n")
- << _("Pixel [") << closest_pixel << _("] is used.")
+ << _("Pixel [") << closest_pixel << _("] is used.")
<< endl;
val.foreground = cmap[closest_pixel].pixel;
}
//if (lyxerr.debugging()) {
// lyxerr << "Painter drawable: " << drawable() << endl;
//}
-
+
int index = lw + (ls << 1) + (c << 6);
LineGCCache::iterator it = lineGCcache.find(index);
XGCValues val;
XGetGCValues(display, getGCForeground(c), GCForeground, &val);
-
+
switch (lw) {
case PainterBase::line_thin:
val.line_width = 0;
val.line_width = 2;
break;
}
-
+
switch (ls) {
case PainterBase::line_solid:
val.line_style = LineSolid;
val.function = GXcopy;
return lineGCcache[index] =
- XCreateGC(display, drawable,
- GCForeground | GCLineStyle | GCLineWidth |
+ XCreateGC(display, drawable,
+ GCForeground | GCLineStyle | GCLineWidth |
GCCapStyle | GCJoinStyle | GCFunction, &val);
}
PainterBase::line_width(lw), c);
}
}
-
+
}
//