#include "RenderButton.h"
-#include "Color.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);
}
}
-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(Color::command);
+ FontInfo font = sane_font;
+ font.setColor(Color_command);
font.decSize();
if (editable_) {
pi.pain.buttonText(x + 2, y, text_, font, renderState());
} else {
pi.pain.rectText(x + 2, y, text_, font,
- Color::commandbg, Color::commandframe);
+ Color_commandbg, Color_commandframe);
}
}