[prev in list] [next in list] [prev in thread] [next in thread]
List: lyx-cvs
Subject: [LyX/master] GuiGraphics: read the BB values also for new graphics
From: Juergen Spitzmueller <spitz () lyx ! org>
Date: 2021-12-31 13:04:20
Message-ID: 20211231130420.D0416280168 () lyx ! lyx ! org
[Download RAW message or body]
commit ec722f3a48ee7f1c774ef504862dcea8276373df
Author: Juergen Spitzmueller <spitz@lyx.org>
Date: Fri Dec 31 14:30:09 2021 +0100
GuiGraphics: read the BB values also for new graphics
that aren't in the cache yet.
---
src/frontends/qt/GuiGraphics.cpp | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/frontends/qt/GuiGraphics.cpp b/src/frontends/qt/GuiGraphics.cpp
index 6a651fd..aefe3d0 100644
--- a/src/frontends/qt/GuiGraphics.cpp
+++ b/src/frontends/qt/GuiGraphics.cpp
@@ -794,16 +794,17 @@ string GuiGraphics::readBoundingBox(string const & file)
{
FileName const abs_file = support::makeAbsPath(file, fromqstr(bufferFilePath()));
- // try to get it from the file, if possible. Zipped files are
- // unzipped in the readBB_from_PSFile-Function
+ // With (E)PS files, try to get it from the file, if possible.
+ // Zipped files are unzipped in the readBB_from_PSFile-Function
string const bb = graphics::readBB_from_PSFile(abs_file);
if (!bb.empty())
return bb;
- // we don't, so ask the Graphics Cache if it has loaded the file
+ // With other formats, we try to read the file dimensions
int width = 0;
int height = 0;
+ // First ask the Graphics Cache if it has loaded the file
graphics::Cache & gc = graphics::Cache::get();
if (gc.inCache(abs_file)) {
graphics::Image const * image = gc.item(abs_file)->image();
@@ -812,6 +813,13 @@ string GuiGraphics::readBoundingBox(string const & file)
width = image->width();
height = image->height();
}
+ } else {
+ // If not, construct a QImage and get the values from that
+ QImage image(toqstr(abs_file.absoluteFilePath()));
+ if (!image.isNull()) {
+ width = image.width();
+ height = image.height();
+ }
}
return ("0 0 " + convert<string>(width) + ' ' + convert<string>(height));
--
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic