mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-24 18:43:37 +00:00
5ddc612b73
* Font::FontBits -> FontInfo * Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8
76 lines
1.3 KiB
C++
76 lines
1.3 KiB
C++
/**
|
|
* \file RenderButton.cpp
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author Angus Leeming
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
#include "RenderButton.h"
|
|
|
|
#include "MetricsInfo.h"
|
|
|
|
#include "frontends/FontMetrics.h"
|
|
#include "frontends/Painter.h"
|
|
|
|
|
|
namespace lyx {
|
|
|
|
|
|
RenderButton::RenderButton()
|
|
: editable_(false)
|
|
{}
|
|
|
|
|
|
RenderBase * RenderButton::clone(Inset const *) const
|
|
{
|
|
return new RenderButton(*this);
|
|
}
|
|
|
|
|
|
void RenderButton::update(docstring const & text, bool editable)
|
|
{
|
|
text_ = text;
|
|
editable_ = editable;
|
|
}
|
|
|
|
|
|
void RenderButton::metrics(MetricsInfo &, Dimension & dim) const
|
|
{
|
|
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;
|
|
dim_ = dim;
|
|
}
|
|
|
|
|
|
void RenderButton::draw(PainterInfo & pi, int x, int y) const
|
|
{
|
|
// Draw it as a box with the LaTeX text
|
|
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);
|
|
}
|
|
}
|
|
|
|
|
|
} // namespace lyx
|