summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FL/Fl_Tree.H3
-rw-r--r--documentation/src/tree-simple.pngbin0 -> 2175 bytes
-rw-r--r--src/Fl_Tree.cxx2
-rw-r--r--src/Fl_Tree_Item.cxx12
4 files changed, 10 insertions, 7 deletions
diff --git a/FL/Fl_Tree.H b/FL/Fl_Tree.H
index c6ddfb5da..792ae4adf 100644
--- a/FL/Fl_Tree.H
+++ b/FL/Fl_Tree.H
@@ -45,6 +45,9 @@
///
/// \brief Tree widget.
///
+/// \image html tree-simple.png "Fl_Tree example program"
+/// \image latex tree-simple.png "Fl_Tree example program" width=4cm
+///
/// \code
/// Fl_Tree // Top level widget
/// |--- Fl_Tree_Item // Items in the tree
diff --git a/documentation/src/tree-simple.png b/documentation/src/tree-simple.png
new file mode 100644
index 000000000..9b921514e
--- /dev/null
+++ b/documentation/src/tree-simple.png
Binary files differ
diff --git a/src/Fl_Tree.cxx b/src/Fl_Tree.cxx
index fe3a8e267..03d3ccdff 100644
--- a/src/Fl_Tree.cxx
+++ b/src/Fl_Tree.cxx
@@ -93,7 +93,7 @@ Fl_Tree::Fl_Tree(int X, int Y, int W, int H, const char *L) : Fl_Group(X,Y,W,H,L
_callback_reason = FL_TREE_REASON_NONE;
_scrollbar_size = 0; // 0: uses Fl::scrollbar_size()
box(FL_DOWN_BOX);
- color(FL_WHITE);
+ color(FL_BACKGROUND2_COLOR, FL_SELECTION_COLOR);
when(FL_WHEN_CHANGED);
_vscroll = new Fl_Scrollbar(0,0,0,0); // will be resized by draw()
_vscroll->hide();
diff --git a/src/Fl_Tree_Item.cxx b/src/Fl_Tree_Item.cxx
index 329c0ef33..053f0adb7 100644
--- a/src/Fl_Tree_Item.cxx
+++ b/src/Fl_Tree_Item.cxx
@@ -562,12 +562,12 @@ void Fl_Tree_Item::draw(int X, int &Y, int W, Fl_Widget *tree,
W += prefs.openicon()->w();
}
// Colors, fonts
- Fl_Color fg = _selected ? _labelbgcolor : _labelfgcolor; // selected uses bgcolor, unselected uses fgcolor
- Fl_Color bg = _selected ? tree->selection_color() : _labelbgcolor; // selected uses selectcolor, unselected uses bgcolor
- if ( ! _active ) {
- fg = fl_inactive(fg);
- if ( _selected ) bg = fl_inactive(bg);
- }
+ Fl_Color fg = _selected ? fl_contrast(_labelfgcolor, tree->selection_color())
+ : _active ? _labelfgcolor
+ : fl_inactive(_labelfgcolor);
+ Fl_Color bg = _selected ? _active ? tree->selection_color()
+ : fl_inactive(tree->selection_color())
+ : _labelbgcolor;
// Update the xywh of this item
_xywh[0] = X;
_xywh[1] = Y;