Adding Text_Display color variables. (#384)
This commit is contained in:
parent
303e8de483
commit
cf4a832e6a
@ -391,6 +391,42 @@ public:
|
||||
*/
|
||||
void textcolor(Fl_Color n) {textcolor_ = n;}
|
||||
|
||||
/**
|
||||
Sets the underline color for style attribute ATTR_GRAMMAR.
|
||||
\param color underline color
|
||||
*/
|
||||
void grammar_underline_color(Fl_Color color) { grammar_underline_color_ = color; }
|
||||
|
||||
/**
|
||||
Gets the underline color for style attribute ATTR_GRAMMAR.
|
||||
\return underline color
|
||||
*/
|
||||
Fl_Color grammar_underline_color() const { return grammar_underline_color_;}
|
||||
|
||||
/**
|
||||
Sets the underline color for style attribute ATTR_SPELLING.
|
||||
\param color underline color
|
||||
*/
|
||||
void spelling_underline_color(Fl_Color color) { spelling_underline_color_ = color; }
|
||||
|
||||
/**
|
||||
Gets the underline color for style attribute ATTR_SPELLING.
|
||||
\return underline color
|
||||
*/
|
||||
Fl_Color spelling_underline_color() const { return spelling_underline_color_;}
|
||||
|
||||
/**
|
||||
Sets the background color for the secondary selection block.
|
||||
\param color background color
|
||||
*/
|
||||
void secondary_selection_color(Fl_Color color) { secondary_selection_color_ = color; }
|
||||
|
||||
/**
|
||||
Gets the background color for the secondary selection block.
|
||||
\return background color color
|
||||
*/
|
||||
Fl_Color secondary_selection_color() const { return secondary_selection_color_;}
|
||||
|
||||
int wrapped_column(int row, int column) const;
|
||||
int wrapped_row(int row) const;
|
||||
void wrap_mode(int wrap, int wrap_margin);
|
||||
@ -604,6 +640,9 @@ protected:
|
||||
Fl_Font textfont_;
|
||||
Fl_Fontsize textsize_;
|
||||
Fl_Color textcolor_;
|
||||
Fl_Color grammar_underline_color_;
|
||||
Fl_Color spelling_underline_color_;
|
||||
Fl_Color secondary_selection_color_;
|
||||
|
||||
// Line number margin and width
|
||||
int mLineNumLeft, mLineNumWidth;
|
||||
|
||||
@ -164,6 +164,9 @@ Fl_Text_Display::Fl_Text_Display(int X, int Y, int W, int H, const char* l)
|
||||
textfont_ = FL_HELVETICA; // textfont()
|
||||
textsize_ = FL_NORMAL_SIZE; // textsize()
|
||||
textcolor_ = FL_FOREGROUND_COLOR; // textcolor()
|
||||
grammar_underline_color_ = FL_RED;
|
||||
spelling_underline_color_ = FL_BLUE;
|
||||
secondary_selection_color_ = FL_GRAY;
|
||||
mLineNumLeft = 0; // XXX: UNUSED
|
||||
mLineNumWidth = 0;
|
||||
|
||||
@ -2319,17 +2322,36 @@ void Fl_Text_Display::draw_string(int style,
|
||||
} else {
|
||||
background = fl_color_average(bgbasecolor, selection_color(), 0.6f);
|
||||
}
|
||||
} else if (style & SECONDARY_MASK) {
|
||||
if (Fl::focus() == (Fl_Widget*)this) {
|
||||
background = fl_color_average(bgbasecolor, secondary_selection_color(), 0.5f);
|
||||
} else {
|
||||
background = fl_color_average(bgbasecolor, secondary_selection_color(), 0.6f);
|
||||
}
|
||||
} else {
|
||||
background = bgbasecolor;
|
||||
}
|
||||
foreground = (style & PRIMARY_MASK) ? fl_contrast(styleRec->color, background) : styleRec->color;
|
||||
} else if (style & PRIMARY_MASK) {
|
||||
if (Fl::focus() == (Fl_Widget*)this) background = selection_color();
|
||||
else background = fl_color_average(color(), selection_color(), 0.4f);
|
||||
if (Fl::focus() == (Fl_Widget*)this) {
|
||||
background = selection_color();
|
||||
} else {
|
||||
background = fl_color_average(color(), selection_color(), 0.4f);
|
||||
}
|
||||
foreground = fl_contrast(textcolor(), background);
|
||||
} else if (style & HIGHLIGHT_MASK) {
|
||||
if (Fl::focus() == (Fl_Widget*)this) background = fl_color_average(color(), selection_color(), 0.5f);
|
||||
else background = fl_color_average(color(), selection_color(), 0.6f);
|
||||
if (Fl::focus() == (Fl_Widget*)this) {
|
||||
background = fl_color_average(color(), selection_color(), 0.5f);
|
||||
} else {
|
||||
background = fl_color_average(color(), selection_color(), 0.6f);
|
||||
}
|
||||
foreground = fl_contrast(textcolor(), background);
|
||||
} else if (style & SECONDARY_MASK) {
|
||||
if (Fl::focus() == (Fl_Widget*)this) {
|
||||
background = secondary_selection_color();
|
||||
} else {
|
||||
background = fl_color_average(color(), secondary_selection_color(), 0.4f);
|
||||
}
|
||||
foreground = fl_contrast(textcolor(), background);
|
||||
} else {
|
||||
foreground = textcolor();
|
||||
@ -2367,10 +2389,10 @@ void Fl_Text_Display::draw_string(int style,
|
||||
goto DRAW_UNDERLINE;
|
||||
break;
|
||||
case ATTR_GRAMMAR:
|
||||
fl_color(FL_BLUE);
|
||||
fl_color(grammar_underline_color());
|
||||
goto DRAW_DOTTED_UNDERLINE;
|
||||
case ATTR_SPELLING:
|
||||
fl_color(FL_RED);
|
||||
fl_color(spelling_underline_color());
|
||||
DRAW_DOTTED_UNDERLINE:
|
||||
fl_line_style(FL_DOT, pitch);
|
||||
DRAW_UNDERLINE:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user