#include "BufferParams.h"
#include "BufferView.h"
#include "Cursor.h"
+#include "Dimension.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
#include "LaTeXFeatures.h"
#include "Lexer.h"
#include "MetricsInfo.h"
-#include "OutputParams.h"
#include "RenderPreview.h"
+#include "texstream.h"
#include "frontends/Painter.h"
namespace lyx {
-InsetIPA::InsetIPA(Buffer * buf)
+InsetIPA::InsetIPA(Buffer * buf)
: InsetText(buf),
preview_(new RenderPreview(this))
{
}
-InsetIPA::~InsetIPA()
+InsetIPA::~InsetIPA()
{}
}
-void InsetIPA::preparePreview(DocIterator const & pos) const
+void InsetIPA::preparePreview(DocIterator const & pos) const
{
- TexRow texrow;
- odocstringstream str;
- otexstream os(str, texrow);
+ odocstringstream str;
+ otexstream os(str);
OutputParams runparams(&pos.buffer()->params().encoding());
latex(os, runparams);
docstring const snippet = str.str();
- preview_->addPreview(snippet, *pos.buffer());
+ preview_->addPreview(snippet, *pos.buffer());
}
void InsetIPA::draw(PainterInfo & pi, int x, int y) const
{
if (previewState(pi.base.bv)) {
- preview_->draw(pi, x + TEXT_TO_INSET_OFFSET, y);
- setPosCache(pi, x, y);
+ preview_->draw(pi, x, y);
return;
}
InsetText::draw(pi, x, y);
{
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);
}
-docstring InsetIPA::xhtml(XHTMLStream & xs, OutputParams const & runparams_in) const
+void InsetIPA::docbook(XMLStream & xs, OutputParams const & runparams) const
+{
+ OutputParams rp(runparams);
+ rp.inIPA = true;
+ InsetText::docbook(xs, rp);
+}
+
+
+docstring InsetIPA::xhtml(XMLStream & xs, OutputParams const & runparams_in) const
{
OutputParams runparams(runparams_in);
runparams.inIPA = true;