From 620d03ee7d51a9f9c6c53bce7d0b3636498702af Mon Sep 17 00:00:00 2001 From: "Carl E. Thompson" Date: Sat, 30 Jan 1999 00:39:28 +0000 Subject: Adds Fl_Browser::middleline(int) and Fl_Browser::bottomline(int). git-svn-id: file:///fltk/svn/fltk/trunk@257 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Browser.cxx | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/Fl_Browser.cxx') diff --git a/src/Fl_Browser.cxx b/src/Fl_Browser.cxx index 211787a09..0d85a22d1 100644 --- a/src/Fl_Browser.cxx +++ b/src/Fl_Browser.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Browser.cxx,v 1.6 1999/01/07 19:17:16 mike Exp $" +// "$Id: Fl_Browser.cxx,v 1.7 1999/01/30 00:39:28 carl Exp $" // // Browser widget for the Fast Light Tool Kit (FLTK). // @@ -356,14 +356,25 @@ Fl_Browser::Fl_Browser(int x, int y, int w, int h, const char*l) first = last = cache = 0; } -void Fl_Browser::topline(int line) { +void Fl_Browser::lineposition(int line, Fl_Line_Position pos) { if (line<1) line = 1; if (line>lines) line = lines; int p = 0; for (FL_BLINE* l=first; l&& line>1; l = l->next) { line--; p += item_height(l); } - position(p); + + int final = p, X, Y, W, H; + bbox(X, Y, W, H); + + switch(pos) { + case TOP: break; + case BOTTOM: final -= H; break; + case MIDDLE: final -= H/2; break; + } + + if (final > (full_height() - H)) final = full_height() -H; + position(final); } int Fl_Browser::topline() const { @@ -440,5 +451,5 @@ int Fl_Browser::value() const { } // -// End of "$Id: Fl_Browser.cxx,v 1.6 1999/01/07 19:17:16 mike Exp $". +// End of "$Id: Fl_Browser.cxx,v 1.7 1999/01/30 00:39:28 carl Exp $". // -- cgit v1.2.3