]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetfootlike.C
* src/LyXAction.C: mark goto-clear-bookmark as working without buffer
[lyx.git] / src / insets / insetfootlike.C
index 4ceb2efe41f22fa6e711370d67c0c0f65bfb0d2f..8aef1d25bdb2fb26e1323ffe8dca305ee40dbecd 100644 (file)
 #include "insetfootlike.h"
 
 #include "buffer.h"
+#include "BufferView.h"
+#include "bufferparams.h"
 #include "LColor.h"
 #include "metricsinfo.h"
 #include "paragraph.h"
 
-using std::ostream;
 
+namespace lyx {
 
 InsetFootlike::InsetFootlike(BufferParams const & bp)
        : InsetCollapsable(bp)
@@ -42,17 +44,41 @@ InsetFootlike::InsetFootlike(InsetFootlike const & in)
 }
 
 
-void InsetFootlike::write(Buffer const & buf, ostream & os) const
+bool InsetFootlike::metrics(MetricsInfo & mi, Dimension & dim) const
 {
-       os << getInsetName() << "\n";
+       LyXFont tmpfont = mi.base.font;
+       mi.base.font = mi.base.bv->buffer()->params().getFont();
+       InsetCollapsable::metrics(mi, dim);
+       mi.base.font = tmpfont;
+       bool const changed = dim_ != dim;
+       dim_ = dim;
+       return changed;
+}
+
+
+void InsetFootlike::draw(PainterInfo & pi, int x, int y) const
+{
+       LyXFont tmpfont = pi.base.font;
+       pi.base.font = pi.base.bv->buffer()->params().getFont();
+       InsetCollapsable::draw(pi, x, y);
+       pi.base.font = tmpfont;
+}
+
+
+void InsetFootlike::write(Buffer const & buf, std::ostream & os) const
+{
+       os << to_utf8(getInsetName()) << "\n";
        InsetCollapsable::write(buf, os);
 }
 
 
-bool InsetFootlike::insetAllowed(InsetOld::Code code) const
+bool InsetFootlike::insetAllowed(InsetBase::Code code) const
 {
-       if (code == InsetOld::FOOT_CODE || code == InsetOld::MARGIN_CODE
-           || code == InsetOld::FLOAT_CODE)
+       if (code == InsetBase::FOOT_CODE || code == InsetBase::MARGIN_CODE
+           || code == InsetBase::FLOAT_CODE)
                return false;
        return InsetCollapsable::insetAllowed(code);
 }
+
+
+} // namespace lyx