From 50274f8d85151d82b8f7945d9de044fe5e74bd52 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Wed, 20 Feb 2002 13:02:27 +0000 Subject: [PATCH] Update copyright in FLUID "about" window. Update fltk-config to support all C++ file extensions. Make background of FLTK logo transparent. Disable overlays if the scheme is set. Fix table cell formatting in Fl_Help_View. Still need to resolve an issue with column widths vs. table widths. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CHANGES | 6 ++ FL/Fl_Help_View.H | 5 +- documentation/FL.gif | Bin 6526 -> 6455 bytes documentation/index.html | 16 ++--- fltk-config.in | 22 ++++++- fluid/about_panel.cxx | 2 +- fluid/about_panel.fl | 2 +- src/Fl_Help_View.cxx | 137 +++++++++++++++++++++------------------ src/Fl_Menu.cxx | 8 +-- 9 files changed, 116 insertions(+), 82 deletions(-) diff --git a/CHANGES b/CHANGES index c33347be7..e3519443f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,11 @@ CHANGES IN FLTK 1.1.0b11 + - Fixed a table rendering bug in the Fl_Help_View + widget. + - The fltk-config script now recognizes all common C++ + extensions. + - The menu code was using overlay visuals when the + scheme was set to "plastic". - Fixed some drawing problems with Fl_Light_Button and its subclasses. - Fixed a minor event propagation bug in Fl_Group that diff --git a/FL/Fl_Help_View.H b/FL/Fl_Help_View.H index a79da6c34..e015c1172 100644 --- a/FL/Fl_Help_View.H +++ b/FL/Fl_Help_View.H @@ -1,5 +1,5 @@ // -// "$Id: Fl_Help_View.H,v 1.1.2.7 2002/01/01 15:11:27 easysw Exp $" +// "$Id: Fl_Help_View.H,v 1.1.2.8 2002/02/20 13:02:25 easysw Exp $" // // Help Viewer widget definitions. // @@ -131,7 +131,6 @@ class Fl_Help_View : public Fl_Group //// Help viewer widget hscrollbar_; // Horizontal scrollbar Fl_Help_Block *add_block(const char *s, int xx, int yy, int ww, int hh, uchar border = 0); - static int compare_blocks(const void *a, const void *b); void add_link(const char *n, int xx, int yy, int ww, int hh); void add_target(const char *n, int yy); static int compare_targets(const Fl_Help_Target *t0, const Fl_Help_Target *t1); @@ -187,5 +186,5 @@ class Fl_Help_View : public Fl_Group //// Help viewer widget #endif // !Fl_Help_View_H // -// End of "$Id: Fl_Help_View.H,v 1.1.2.7 2002/01/01 15:11:27 easysw Exp $". +// End of "$Id: Fl_Help_View.H,v 1.1.2.8 2002/02/20 13:02:25 easysw Exp $". // diff --git a/documentation/FL.gif b/documentation/FL.gif index f4fe8fb51d11fb1636640c055f66ef82136e91a1..823e0bdd4dceb4bddfcb6ca3912ada352fd403d0 100644 GIT binary patch literal 6455 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 %GXsR9f+>B5 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 - +
- -
+ FL +

FLTK 1.1.0 Programming Manual

Revision 1 by Michael Sweet, Craig P. Earls, and Bill Spitzak
Copyright 1998-2002 by Bill Spitzak and others.

@@ -17,16 +17,16 @@
- +
-
This software is provided under the terms of the GNU Library General + This software is provided under the terms of the GNU Library General Public License.
- +
- -
Preface + Preface

1 - Introduction to FLTK @@ -57,7 +57,7 @@ 7 - Adding and Extending Widgets
+ 8 - Using OpenGL

diff --git a/fltk-config.in b/fltk-config.in index ff05a0397..077cce3c8 100755 --- a/fltk-config.in +++ b/fltk-config.in @@ -1,6 +1,6 @@ #! /bin/sh # -# "$Id: fltk-config.in,v 1.12.2.7 2002/01/01 15:11:27 easysw Exp $" +# "$Id: fltk-config.in,v 1.12.2.8 2002/02/20 13:02:25 easysw Exp $" # # FLTK configuration utility. # @@ -200,7 +200,25 @@ if test -n "$echo_help"; then usage 1 fi if test -n "$compile"; then - prog=`basename $compile .cxx` + case $compile in + *.cxx) + prog=`basename $compile .cxx` + ;; + *.cpp) + prog=`basename $compile .cpp` + ;; + *.cc) + prog=`basename $compile .cc` + ;; + *.C) + prog=`basename $compile .C` + ;; + *) + echo "ERROR: Unknown/bad C++ source file extension on \"$compile\"!" + exit 1 + ;; + esac + post=$prog echo $CXX $CXXFLAGS -o $prog $compile $LDSTATIC diff --git a/fluid/about_panel.cxx b/fluid/about_panel.cxx index 0dd0bfcbf..b828ffd84 100644 --- a/fluid/about_panel.cxx +++ b/fluid/about_panel.cxx @@ -94,7 +94,7 @@ Fl_Window* make_about_panel() { o->labelsize(18); o->labelcolor(7); } - { Fl_Button* o = new Fl_Button(181, 176, 115, 30, "\251""1998-2001 by\nBill Spitzak and others"); + { Fl_Button* o = new Fl_Button(181, 176, 115, 30, "\251""1998-2002 by\nBill Spitzak and others"); o->box(FL_THIN_UP_BOX); o->labelsize(10); o->labelcolor(136); diff --git a/fluid/about_panel.fl b/fluid/about_panel.fl index db0bb76f3..7a6770307 100644 --- a/fluid/about_panel.fl +++ b/fluid/about_panel.fl @@ -56,7 +56,7 @@ Version 1.1.0} xywh {140 27 160 123} box OVAL_BOX color 12 selection_color 47 labeltype SHADOW_LABEL labelfont 1 labelsize 18 labelcolor 7 } Fl_Button {} { - label {©1998-2001 by + label {©1998-2002 by Bill Spitzak and others} callback {show_help("license.html");} xywh {181 176 115 30} box THIN_UP_BOX labelsize 10 labelcolor 136 diff --git a/src/Fl_Help_View.cxx b/src/Fl_Help_View.cxx index 6f7549c9c..41b7e1355 100644 --- a/src/Fl_Help_View.cxx +++ b/src/Fl_Help_View.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Help_View.cxx,v 1.1.2.25 2002/01/01 15:11:30 easysw Exp $" +// "$Id: Fl_Help_View.cxx,v 1.1.2.26 2002/02/20 13:02:27 easysw Exp $" // // Fl_Help_View widget routines. // @@ -45,7 +45,6 @@ // Fl_Help_View::topline() - Set the top line to the named target. // Fl_Help_View::topline() - Set the top line by number. // Fl_Help_View::value() - Set the help text directly. -// Fl_Help_View::compare_blocks() - Compare two blocks. // scrollbar_callback() - A callback for the scrollbar. // @@ -330,7 +329,7 @@ Fl_Help_View::draw() needspace; // Do we need whitespace? Fl_Boxtype b = box() ? box() : FL_DOWN_BOX; // Box to draw... - Fl_Color tc, c; // Table/cell background color + Fl_Color tc, rc, c; // Table/row/cell background color // Draw the scrollbar(s) and box first... @@ -362,11 +361,11 @@ Fl_Help_View::draw() fl_push_clip(x() + 4, y() + 4, ww - 8, hh - 8); fl_color(textcolor_); - tc = c = bgcolor_; + tc = rc = c = bgcolor_; // Draw all visible blocks... - for (i = 0, block = blocks_; i < nblocks_ && (block->y - topline_) < h(); i ++, block ++) - if ((block->y + block->h) >= topline_) + for (i = 0, block = blocks_; i < nblocks_; i ++, block ++) + if ((block->y + block->h) >= topline_ && block->y < (topline_ + h())) { line = 0; xx = block->line[line]; @@ -541,15 +540,6 @@ Fl_Help_View::draw() } pushfont(font, size); - - if (c != bgcolor_) - { - fl_color(c); - fl_rectf(block->x + x() - 4 - leftline_, - block->y - topline_ + y() - size - 3, - block->w - block->x + 7, block->h + size - 5); - fl_color(textcolor_); - } } else if (strcasecmp(buf, "A") == 0 && get_attr(attrs, "HREF", attr, sizeof(attr)) != NULL) @@ -560,30 +550,52 @@ Fl_Help_View::draw() strcasecmp(buf, "STRONG") == 0) pushfont(font |= FL_BOLD, size); else if (strcasecmp(buf, "TABLE") == 0) - tc = get_color(get_attr(attrs, "BGCOLOR", attr, sizeof(attr)), bgcolor_); + tc = rc = get_color(get_attr(attrs, "BGCOLOR", attr, sizeof(attr)), bgcolor_); + else if (strcasecmp(buf, "TR") == 0) + rc = get_color(get_attr(attrs, "BGCOLOR", attr, sizeof(attr)), tc); else if (strcasecmp(buf, "TD") == 0 || strcasecmp(buf, "TH") == 0) { + int tx, ty, tw, th; + if (tolower(buf[1]) == 'h') pushfont(font |= FL_BOLD, size); else pushfont(font = textfont_, size); - c = get_color(get_attr(attrs, "BGCOLOR", attr, sizeof(attr)), tc); + c = get_color(get_attr(attrs, "BGCOLOR", attr, sizeof(attr)), rc); + + tx = block->x - 4 - leftline_; + ty = block->y - topline_ - size - 3; + tw = block->w - block->x + 7; + th = block->h + size - 5; + + if (tx < 0) + { + tw += tx; + tx = 0; + } + + if (ty < 0) + { + th += ty; + ty = 0; + } + + tx += x(); + ty += y(); + +// printf("%s: %d,%d - %dx%d\n", buf, tx, ty, tw, th); if (c != bgcolor_) { fl_color(c); - fl_rectf(block->x + x() - 4 - leftline_, - block->y - topline_ + y() - size - 3, - block->w - block->x + 7, block->h + size - 5); + fl_rectf(tx, ty, tw, th); fl_color(textcolor_); } if (block->border) - fl_rect(block->x + x() - 4 - leftline_, - block->y - topline_ + y() - size - 3, - block->w - block->x + 7, block->h + size - 5); + fl_rect(tx, ty, tw, th); } else if (strcasecmp(buf, "I") == 0 || strcasecmp(buf, "EM") == 0) @@ -611,10 +623,10 @@ Fl_Help_View::draw() strcasecmp(buf, "/VAR") == 0) popfont(font, size); else if (strcasecmp(buf, "/TABLE") == 0) - tc = c = bgcolor_; + tc = rc = c = bgcolor_; else if (strcasecmp(buf, "/TD") == 0 || strcasecmp(buf, "/TH") == 0) - c = tc; + c = rc; else if (strcasecmp(buf, "/PRE") == 0) { popfont(font, size); @@ -766,7 +778,9 @@ Fl_Help_View::format() int done; // Are we done yet? Fl_Help_Block *block, // Current block *cell; // Current table cell - int row; // Current table row (block number) + int cells[MAX_COLUMNS], + // Cells in the current row... + row; // Current table row (block number) const char *ptr, // Pointer into block *start, // Pointer to start of element *attrs; // Pointer to start of element attributes @@ -1154,12 +1168,20 @@ Fl_Help_View::format() if ((cell->y + cell->h) > yy) yy = cell->y + cell->h; + block = blocks_ + row; + block->h = yy - block->y + 2; - for (cell = blocks_ + row + 1; cell < block; cell ++) - cell->h = block->h; + for (i = 0; i < column; i ++) + if (cells[i]) + { + cell = blocks_ + cells[i]; + cell->h = block->h; + } } + memset(cells, 0, sizeof(cells)); + yy = block->y + block->h - 4; hh = 0; block = add_block(start, xx, yy, hsize_, 0); @@ -1182,10 +1204,16 @@ Fl_Help_View::format() if ((cell->y + cell->h) > yy) yy = cell->y + cell->h; + block = blocks_ + row; + block->h = yy - block->y + 2; - for (cell = blocks_ + row + 1; cell < block; cell ++) - cell->h = block->h; + for (i = 0; i < column; i ++) + if (cells[i]) + { + cell = blocks_ + cells[i]; + cell->h = block->h; + } yy = block->y + block->h - 4; block = add_block(start, xx, yy, hsize_, 0); @@ -1237,11 +1265,15 @@ Fl_Help_View::format() line = 0; newalign = get_align(attrs, tolower(buf[1]) == 'h' ? CENTER : LEFT); - column ++; + cells[column] = block - blocks_; + + column += colspan; } else if ((strcasecmp(buf, "/TD") == 0 || strcasecmp(buf, "/TH") == 0) && row) + { popfont(font, size); + } else if (strcasecmp(buf, "B") == 0 || strcasecmp(buf, "STRONG") == 0) pushfont(font |= FL_BOLD, size); @@ -1406,10 +1438,6 @@ Fl_Help_View::format() qsort(targets_, ntargets_, sizeof(Fl_Help_Target), (compare_func_t)compare_targets); - if (nblocks_ > 1) - qsort(blocks_, nblocks_, sizeof(Fl_Help_Block), - (compare_func_t)compare_blocks); - if (hsize_ > (w() - 24)) { hscrollbar_.show(); @@ -1944,7 +1972,7 @@ Fl_Help_View::get_color(const char *n, // I - Color name int rgb, r, g, b; // RGB values - if (!n) + if (!n || !n[0]) return (c); if (n[0] == '#') @@ -1956,19 +1984,14 @@ Fl_Help_View::get_color(const char *n, // I - Color name g = (rgb >> 8) & 255; b = rgb & 255; - if (r == g && g == b) - return (fl_gray_ramp(FL_NUM_GRAY * r / 256)); - else - return (fl_color_cube((FL_NUM_RED - 1) * r / 255, - (FL_NUM_GREEN - 1) * g / 255, - (FL_NUM_BLUE - 1) * b / 255)); + return (fl_rgb_color(r, g, b)); } else if (strcasecmp(n, "black") == 0) return (FL_BLACK); else if (strcasecmp(n, "red") == 0) return (FL_RED); else if (strcasecmp(n, "green") == 0) - return (fl_color_cube(0, 4, 0)); + return (fl_rgb_color(0, 0x80, 0)); else if (strcasecmp(n, "yellow") == 0) return (FL_YELLOW); else if (strcasecmp(n, "blue") == 0) @@ -1980,21 +2003,21 @@ Fl_Help_View::get_color(const char *n, // I - Color name else if (strcasecmp(n, "white") == 0) return (FL_WHITE); else if (strcasecmp(n, "gray") == 0 || strcasecmp(n, "grey") == 0) - return (FL_GRAY); + return (fl_rgb_color(0x80, 0x80, 0x80)); else if (strcasecmp(n, "lime") == 0) return (FL_GREEN); else if (strcasecmp(n, "maroon") == 0) - return (fl_color_cube(2, 0, 0)); + return (fl_rgb_color(0x80, 0, 0)); else if (strcasecmp(n, "navy") == 0) - return (fl_color_cube(0, 0, 2)); + return (fl_rgb_color(0, 0, 0x80)); else if (strcasecmp(n, "olive") == 0) - return (fl_color_cube(2, 4, 0)); + return (fl_rgb_color(0x80, 0x80, 0)); else if (strcasecmp(n, "purple") == 0) - return (fl_color_cube(2, 0, 2)); + return (fl_rgb_color(0x80, 0, 0x80)); else if (strcasecmp(n, "silver") == 0) - return (FL_LIGHT2); + return (fl_rgb_color(0xc0, 0xc0, 0xc0)); else if (strcasecmp(n, "teal") == 0) - return (fl_color_cube(0, 4, 2)); + return (fl_rgb_color(0, 0x80, 0x80)); else return (c); } @@ -2455,18 +2478,6 @@ Fl_Help_View::value(const char *v) // I - Text to view } -// -// 'Fl_Help_View::compare_blocks()' - Compare two blocks. -// - -int // O - Result of comparison -Fl_Help_View::compare_blocks(const void *a, // I - First block - const void *b) // I - Second block -{ - return (((Fl_Help_Block *)a)->y - ((Fl_Help_Block *)b)->y); -} - - // // 'quote_char()' - Return the character code associated with a quoted char. // @@ -2616,5 +2627,5 @@ hscrollbar_callback(Fl_Widget *s, void *) // -// End of "$Id: Fl_Help_View.cxx,v 1.1.2.25 2002/01/01 15:11:30 easysw Exp $". +// End of "$Id: Fl_Help_View.cxx,v 1.1.2.26 2002/02/20 13:02:27 easysw Exp $". // diff --git a/src/Fl_Menu.cxx b/src/Fl_Menu.cxx index 2e16434f1..04989f8f4 100644 --- a/src/Fl_Menu.cxx +++ b/src/Fl_Menu.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Menu.cxx,v 1.18.2.12.2.6 2002/01/01 15:11:30 easysw Exp $" +// "$Id: Fl_Menu.cxx,v 1.18.2.12.2.7 2002/02/20 13:02:27 easysw Exp $" // // Menu code for the Fast Light Tool Kit (FLTK). // @@ -202,7 +202,7 @@ menutitle::menutitle(int X, int Y, int W, int H, const Fl_Menu_Item* L) : set_modal(); clear_border(); menu = L; - if (L->labelcolor_) clear_overlay(); + if (L->labelcolor_ || Fl::scheme()) clear_overlay(); } menuwindow::menuwindow(const Fl_Menu_Item* m, int X, int Y, int Wp, int Hp, @@ -255,7 +255,7 @@ menuwindow::menuwindow(const Fl_Menu_Item* m, int X, int Y, int Wp, int Hp, w1 = int(fl_width(fl_shortcut_label(m->shortcut_))) + 8; if (w1 > hotKeysw) hotKeysw = w1; } - if (m->labelcolor_) clear_overlay(); + if (m->labelcolor_ || Fl::scheme()) clear_overlay(); } if (selected >= 0 && !Wp) X -= W/2; int BW = Fl::box_dx(box()); @@ -756,5 +756,5 @@ const Fl_Menu_Item* Fl_Menu_Item::test_shortcut() const { } // -// End of "$Id: Fl_Menu.cxx,v 1.18.2.12.2.6 2002/01/01 15:11:30 easysw Exp $". +// End of "$Id: Fl_Menu.cxx,v 1.18.2.12.2.7 2002/02/20 13:02:27 easysw Exp $". //