Ensures that a figure with a transparent colour can be viewed
easily if the LyX screen's background colour is dark.
Prevent deletion of the image file if no conversion is required.
This patch works like a charm with the (old) figinset. When testing
the graphics inset, however, I find that colour "None" in an XPM file
is displayed as black. I have no idea why. This appears to be true of
some other graphics viewers also. E.g., KDE 2's pixie displays "None"
as black but the venerable xv works fine.
Maybe it's my version of the xpm library, but v3.4.11 appears to be
right up to date.
Can people test on their machines and/or offer suggestions here?
Angus
p.s. You can test with the XPM files in lib/images. They will no longer
be deleted if you load them into LyX!
A.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2777
a592a061-630c-0410-9148-
cb99ea01b6c8
+2001-09-18 Angus Leeming <a.leeming@ic.ac.uk>
+
+ * LColor.[Ch]: added graphicsbg to color enum and to ColorEntry.
+
2001-09-20 Michael Schmitt <Michael.Schmitt@teststep.org>
* several files: fix typos in user-visible strings
{ special, N_("special character"), "special", "RoyalBlue", "special" },
{ math, N_("math"), "math", "DarkBlue", "math" },
{ mathbg, N_("math background"), "mathbg", "linen", "mathbg" },
+ { graphicsbg, N_("graphics background"), "graphicsbg", "linen", "graphicsbg" },
{ mathmacrobg, N_("Math macro background"), "mathmacrobg", "linen", "mathmacrobg" },
{ mathframe, N_("math frame"), "mathframe", "Magenta", "mathframe" },
{ mathcursor, N_("math cursor"), "mathcursor", "black", "mathcursor" },
/// Special chars text color
special,
+ /// Graphics inset background color
+ graphicsbg,
/// Math inset text color
math,
/// Math inset background color
string const to = findTargetFormat(from);
if (to.empty())
return false;
-
+
+ if (from == to) {
+ // No conversion needed!
+ // Saves more than just time: prevents the deletion of
+ // the "to" file after loading when it's the same as the "from"!
+ tempfile = filename;
+ loadImage();
+ return true;
+ }
+
// Take only the filename part of the file, without path or extension.
string temp = OnlyFilename(filename);
temp = ChangeExtension(filename, string());
+2001-09-18 Angus Leeming <a.leeming@ic.ac.uk>
+
+ * figinset.C (runqueue):
+ * insetgraphics.C (draw): set background colour of inset from
+ background to the user-configurable graphicsbg.
+
2001-09-07 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* insetquotes.C (InsetQuotes): when trying to decide the side of
{
// This _have_ to be set before the fork!
unsigned long background_pixel =
- lyxColorHandler->colorPixel(LColor::background);
+ lyxColorHandler->colorPixel(LColor::graphicsbg);
// run queued requests for ghostscript, if any
if (!gsrunning && gs_color && !gs_xcolor) {
// we draw just a rectangle.
if (imageLoaded) {
+ // Draw a ractangle with the specified color. If the image is
+ // transparent, this will shine through.
+ paint.fillRectangle(old_x + 2, baseline - lascent,
+ lwidth - 4, lascent + ldescent,
+ LColor::graphicsbg);
+
paint.image(old_x + 2, baseline - lascent,
lwidth - 4, lascent + ldescent,
cacheHandle->getImage());