]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetfootlike.C
The speed patch: redraw only rows that have changed
[lyx.git] / src / insets / insetfootlike.C
index 5829adc652d294bc61a425630dc579eff4078d76..6e33522aedb1b157b66584ec6ebf707dcf0491a8 100644 (file)
 #include <config.h>
 
 #include "insetfootlike.h"
-#include "metricsinfo.h"
-#include "lyxfont.h"
-#include "buffer.h"
-#include "lyxtext.h"
-#include "support/LOstream.h"
 
+#include "buffer.h"
+#include "LColor.h"
+#include "metricsinfo.h"
+#include "paragraph.h"
 
 using std::ostream;
 
@@ -45,24 +44,34 @@ InsetFootlike::InsetFootlike(InsetFootlike const & in)
 
 void InsetFootlike::metrics(MetricsInfo & mi, Dimension & dim) const
 {
-               InsetCollapsable::metrics(mi, dim);
-               if (isOpen()) 
-                       dim.wid = mi.base.textwidth;
-               dim_ = dim;
+       LyXFont tmpfont = mi.base.font;
+       mi.base.font = LyXFont(LyXFont::ALL_SANE);
+       InsetCollapsable::metrics(mi, dim);
+       mi.base.font = tmpfont;
+       dim_ = dim;
+}
+
+
+void InsetFootlike::draw(PainterInfo & pi, int x, int y) const
+{
+       LyXFont tmpfont = pi.base.font;
+       pi.base.font = LyXFont(LyXFont::ALL_SANE);
+       InsetCollapsable::draw(pi, x, y);
+       pi.base.font = tmpfont;
 }
 
 
-void InsetFootlike::write(Buffer const * buf, ostream & os) const
+void InsetFootlike::write(Buffer const & buf, ostream & os) const
 {
        os << 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);
 }