/////////////////////////////////////////////////////////////////////////
PainterInfo::PainterInfo(BufferView * bv, lyx::frontend::Painter & painter)
- : pain(painter), ltr_pos(false), change_(), selected(false),
+ : pain(painter), ltr_pos(false), change(), selected(false),
do_spellcheck(true), full_repaint(true), background_color(Color_background),
leftx(0), rightx(0)
{
ColorCode PainterInfo::backgroundColor(Inset const * inset, bool sel) const
{
- ColorCode const color_bg = inset->backgroundColor(*this);
-
if (selected && sel)
// This inset is in a selection
return Color_selection;
- else {
+
+ // special handling for inset background
+ if (inset != nullptr) {
+ if (pain.develMode() && !inset->isBufferValid())
+ // This inset is in error
+ return Color_error;
+
+ ColorCode const color_bg = inset->backgroundColor(*this);
if (color_bg != Color_none)
// This inset has its own color
return color_bg;
- else {
- if (background_color == Color_none)
- // This inset has no own color and does not inherit a color
- return Color_background;
- else
- // This inset has no own color, but inherits a color
- return background_color;
- }
}
+
+ if (background_color == Color_none)
+ // This inset has no own color and does not inherit a color
+ return Color_background;
+
+ // This inset has no own color, but inherits a color
+ return background_color;
}
Color PainterInfo::textColor(Color const & color) const
{
- if (change_.changed())
- return change_.color();
+ if (change.changed())
+ return change.color();
if (selected)
return Color_selectiontext;
return color;
}
-Changer MetricsBase::changeArray()
+Changer MetricsBase::changeArray(bool small)
{
+ if (small)
+ return font.changeStyle(SCRIPT_STYLE);
return (font.style() == DISPLAY_STYLE) ? font.changeStyle(TEXT_STYLE)
: Changer();
}