]> git.lyx.org Git - lyx.git/blobdiff - src/insets/RenderButton.cpp
By default, charstyles should not permit layout changes internally.
[lyx.git] / src / insets / RenderButton.cpp
index b13afada17c904b203277fc515cb99b94bee97c8..ee1b1f44cd04326aafa2ae8d631873cb9520622b 100644 (file)
@@ -12,7 +12,6 @@
 
 #include "RenderButton.h"
 
-#include "LColor.h"
 #include "MetricsInfo.h"
 
 #include "frontends/FontMetrics.h"
 
 namespace lyx {
 
-using std::string;
-using std::auto_ptr;
-
 
 RenderButton::RenderButton()
        : editable_(false)
 {}
 
 
-auto_ptr<RenderBase> RenderButton::clone(InsetBase const *) const
+RenderBase * RenderButton::clone(Inset const *) const
 {
-       return auto_ptr<RenderBase>(new RenderButton(*this));
+       return new RenderButton(*this);
 }
 
 
@@ -43,38 +39,34 @@ void RenderButton::update(docstring const & text, bool editable)
 }
 
 
-bool RenderButton::metrics(MetricsInfo &, Dimension & dim) const
+void RenderButton::metrics(MetricsInfo &, Dimension & dim) const
 {
-       LyXFont font(LyXFont::ALL_SANE);
+       FontInfo font = sane_font;
        font.decSize();
        frontend::FontMetrics const & fm =
                theFontMetrics(font);
-       
+
        if (editable_)
                fm.buttonText(text_, dim.wid, dim.asc, dim.des);
        else
                fm.rectText(text_, dim.wid, dim.asc, dim.des);
 
-       dim.wid += 4;
-       if (dim_ == dim)
-               return false;
        dim_ = dim;
-       return true;
 }
 
 
 void RenderButton::draw(PainterInfo & pi, int x, int y) const
 {
        // Draw it as a box with the LaTeX text
-       LyXFont font(LyXFont::ALL_SANE);
-       font.setColor(LColor::command);
+       FontInfo font = sane_font;
+       font.setColor(Color_command);
        font.decSize();
 
        if (editable_) {
-               pi.pain.buttonText(x + 2, y, text_, font, renderState());
+               pi.pain.buttonText(x, y, text_, font, renderState());
        } else {
-               pi.pain.rectText(x + 2, y, text_, font,
-                                LColor::commandbg, LColor::commandframe);
+               pi.pain.rectText(x, y, text_, font,
+                                Color_commandbg, Color_commandframe);
        }
 }