lyx_mirror/src/mathed/InsetMathTextsize.h
Enrico Forestieri 58103cf214 Allow using the text properties dialog in mathed
Until now only the color of the text could be changed by using
the text properties dialog. This commit allows changing all
other properties except for strikethrough. It is possible to
also add underlining with the limitation that the changes
accumulate. This requires other work but I think that underlining
and strikethrough are not so important in mathed and can be
refined at a later time.

Fixes #12958
2023-11-06 18:04:44 +01:00

62 lines
1.5 KiB
C++

// -*- C++ -*-
/**
* \file InsetMathTextsize.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Enrico Forestieri
*
* Full author contact details are available in file CREDITS.
*/
#ifndef MATH_TEXTSIZEINSET_H
#define MATH_TEXTSIZEINSET_H
#include "InsetMathNest.h"
namespace lyx {
class latexkeys;
/// text-in-math font size changes
class InsetMathTextsize : public InsetMathNest {
public:
///
explicit InsetMathTextsize(Buffer * buf, latexkeys const * key);
/// we inherit the mode
mode_type currentMode() const override { return current_mode_; }
/// we write extra braces in any case...
bool extraBraces() const override { return true; }
///
void metrics(MetricsInfo & mi, Dimension & dim) const override;
///
void draw(PainterInfo & pi, int x, int y) const override;
///
void metricsT(TextMetricsInfo const & mi, Dimension & dim) const override;
///
void drawT(TextPainter & pi, int x, int y) const override;
///
void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
///
void infoize(odocstream & os) const override;
///
int kerning(BufferView const * bv) const override { return cell(0).kerning(bv); }
///
InsetCode lyxCode() const override { return MATH_TEXTSIZE_CODE; }
private:
Inset * clone() const override;
/// the text-in-math font size to be used on screen
latexkeys const * key_;
/// the inherited mode
mutable mode_type current_mode_;
};
} // namespace lyx
#endif