X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetPreview.cpp;h=1a70b1e17a2b1ece64adf280bcf5fbc451c5d034;hb=2748e33be542862f94af4a131a17dde5ebc064b2;hp=757774117533ce090ac40595c78baf102ebd0df7;hpb=28040119576f3914a9e233bd064bf09731427046;p=lyx.git diff --git a/src/insets/InsetPreview.cpp b/src/insets/InsetPreview.cpp index 7577741175..1a70b1e17a 100644 --- a/src/insets/InsetPreview.cpp +++ b/src/insets/InsetPreview.cpp @@ -19,6 +19,7 @@ #include "MetricsInfo.h" #include "OutputParams.h" #include "RenderPreview.h" +#include "texstream.h" #include "frontends/Painter.h" @@ -81,9 +82,8 @@ void InsetPreview::addPreview(DocIterator const & inset_pos, void InsetPreview::preparePreview(DocIterator const & pos) const { - TexRow texrow; odocstringstream str; - otexstream os(str, texrow); + otexstream os(str); OutputParams runparams(&pos.buffer()->params().encoding()); latex(os, runparams); @@ -99,7 +99,7 @@ void InsetPreview::preparePreview(DocIterator const & pos) const dit.forwardInset(); for (; dit != dend; dit.forwardInset()) { InsetMath * im = dit.nextInset()->asInsetMath(); - InsetMathHull * hull = im ? im->asHullInset() : 0; + InsetMathHull * hull = im ? im->asHullInset() : nullptr; if (!hull) continue; for (idx_type idx = 0; idx < hull->nargs(); ++idx) @@ -138,8 +138,7 @@ void InsetPreview::draw(PainterInfo & pi, int x, int y) const { if (previewState(pi.base.bv)) { // one pixel gap in front - preview_->draw(pi, x + 1 + TEXT_TO_INSET_OFFSET, y); - setPosCache(pi, x, y); + preview_->draw(pi, x + 1, y); } else InsetText::draw(pi, x, y); } @@ -167,19 +166,14 @@ void InsetPreview::metrics(MetricsInfo & mi, Dimension & dim) const { if (previewState(mi.base.bv)) { preview_->metrics(mi, dim); - mi.base.textwidth += 2 * TEXT_TO_INSET_OFFSET; dim.wid = max(dim.wid, 4); dim.asc = max(dim.asc, 4); - dim.asc += TEXT_TO_INSET_OFFSET; - dim.des += TEXT_TO_INSET_OFFSET; - dim.wid += TEXT_TO_INSET_OFFSET; - dim.wid += TEXT_TO_INSET_OFFSET; + dim.asc += topOffset(mi.base.bv); + dim.des += bottomOffset(mi.base.bv); // insert a one pixel gap dim.wid += 1; - // Cache the inset dimension. - setDimCache(mi, dim); Dimension dim_dummy; MetricsInfo mi_dummy = mi; InsetText::metrics(mi_dummy, dim_dummy);