#include <boost/bind.hpp>
-namespace graphics = lyx::graphics;
-using lyx::docstring;
-using lyx::support::absolutePath;
-using lyx::support::onlyFilename;
+namespace lyx {
+
+using support::onlyFilename;
using std::string;
using std::auto_ptr;
params_ = params;
if (!params_.filename.empty()) {
- BOOST_ASSERT(absolutePath(params_.filename));
loader_.reset(params_.filename, params_);
}
}
}
-string const statusMessage(graphics::Params const & params,
+docstring const statusMessage(graphics::Params const & params,
graphics::ImageStatus status)
{
docstring ret;
}
}
- // FIXME UNICODE
- return lyx::to_utf8(ret);
+ return ret;
}
} // namespace anon
-void RenderGraphic::metrics(MetricsInfo & mi, Dimension & dim) const
+bool RenderGraphic::metrics(MetricsInfo & mi, Dimension & dim) const
{
bool image_ready = displayGraphic(params_) && readyToDisplay(loader_);
LyXFont msgFont(mi.base.font);
msgFont.setFamily(LyXFont::SANS_FAMILY);
- string const justname = onlyFilename(params_.filename);
- docstring djust(justname.begin(), justname.end());
+ // FIXME UNICODE
+ docstring const justname =
+ from_utf8(onlyFilename(params_.filename.absFilename()));
if (!justname.empty()) {
msgFont.setSize(LyXFont::SIZE_FOOTNOTE);
font_width = theFontMetrics(msgFont)
- .width(djust);
+ .width(justname);
}
- string const msg = statusMessage(params_, loader_.status());
+ docstring const msg = statusMessage(params_, loader_.status());
if (!msg.empty()) {
- docstring dmsg(msg.begin(), msg.end());
msgFont.setSize(LyXFont::SIZE_TINY);
font_width = std::max(font_width,
- theFontMetrics(msgFont).width(dmsg));
+ theFontMetrics(msgFont).width(msg));
}
dim.wid = std::max(50, font_width + 15);
}
+ bool const changed = dim_ != dim;
dim_ = dim;
+ return changed;
}
// Print the file name.
LyXFont msgFont = pi.base.font;
msgFont.setFamily(LyXFont::SANS_FAMILY);
- string const justname = onlyFilename(params_.filename);
+ string const justname = onlyFilename(params_.filename.absFilename());
if (!justname.empty()) {
- docstring djust(justname.begin(), justname.end());
msgFont.setSize(LyXFont::SIZE_FOOTNOTE);
pi.pain.text(x + InsetOld::TEXT_TO_INSET_OFFSET + 6,
y - theFontMetrics(msgFont).maxAscent() - 4,
- djust, msgFont);
+ from_utf8(justname), msgFont);
}
// Print the message.
- string const msg = statusMessage(params_, loader_.status());
+ docstring const msg = statusMessage(params_, loader_.status());
if (!msg.empty()) {
- docstring dmsg(msg.begin(), msg.end());
msgFont.setSize(LyXFont::SIZE_TINY);
pi.pain.text(x + InsetOld::TEXT_TO_INSET_OFFSET + 6,
- y - 4, dmsg, msgFont);
+ y - 4, msg, msgFont);
}
}
}
+
+
+} // namespace lyx