]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetIPA.cpp
Fixup 572b06d6: reduce cache size for breakString
[lyx.git] / src / insets / InsetIPA.cpp
index 1c20866b0d700e558acc372576502253fb470315..7745b8d946793362398726d128e13c0bb3bb61d1 100644 (file)
 #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"
 
@@ -35,7 +35,7 @@ using namespace std;
 namespace lyx {
 
 
-InsetIPA::InsetIPA(Buffer * buf) 
+InsetIPA::InsetIPA(Buffer * buf)
        : InsetText(buf),
          preview_(new RenderPreview(this))
 {
@@ -44,7 +44,7 @@ InsetIPA::InsetIPA(Buffer * buf)
 }
 
 
-InsetIPA::~InsetIPA() 
+InsetIPA::~InsetIPA()
 {}
 
 
@@ -119,14 +119,14 @@ void InsetIPA::addPreview(DocIterator const & inset_pos,
 }
 
 
-void InsetIPA::preparePreview(DocIterator const & pos) const  
+void InsetIPA::preparePreview(DocIterator const & pos) const
 {
        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());
 }
 
 
@@ -152,7 +152,6 @@ void InsetIPA::draw(PainterInfo & pi, int x, int y) const
 {
        if (previewState(pi.base.bv)) {
                preview_->draw(pi, x, y);
-               setPosCache(pi, x, y);
                return;
        }
        InsetText::draw(pi, x, y);
@@ -185,12 +184,10 @@ void InsetIPA::metrics(MetricsInfo & mi, Dimension & dim) const
                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.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);
@@ -236,7 +233,15 @@ void InsetIPA::latex(otexstream & os, OutputParams const & runparams_in) const
 }
 
 
-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;