Don't use -lsupc++ with gcc 2.96; just tried it on RH 7.2 and that

library isn't present or needed.

PNG image support updates for Fl_Help_View and Fl_File_Icon; didn't
handle transparency properly.

Support KDE 2.x icons.

Separate image/load_system_icons code from main Fl_File_Icon sources,
so that apps that don't use load_system_icons() won't need the image
libraries...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1687 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Michael R Sweet
2001-11-17 15:27:15 +00:00
parent 74bff0b300
commit ab1e093308
10 changed files with 1069 additions and 805 deletions
+6 -2
View File
@@ -1,6 +1,10 @@
CHANGES IN FLTK 1.1.0
CHANGES IN FLTK 1.1.0b6
- Now use -lsupc++ for Red Hat's GCC 2.96.
- Documentation updates...
- Implemented the Fl_File_Icon::load_png() method.
- The Fl_File_Icon::load_system_icons() method now
supports KDE 2.x icons.
- Fixed PNG support in Fl_Help_View.
- Removed the "Microsoft" mode button from the menubar
demo.
- The browser demo now makes sure that the input field
+3 -2
View File
@@ -1,5 +1,5 @@
//
// "$Id: Fl_File_Icon.H,v 1.1.2.2 2001/10/29 03:44:31 easysw Exp $"
// "$Id: Fl_File_Icon.H,v 1.1.2.3 2001/11/17 15:27:14 easysw Exp $"
//
// Fl_File_Icon definitions.
//
@@ -94,6 +94,7 @@ class Fl_File_Icon //// Icon data
FL_EXPORT static void labeltype(const Fl_Label *o, int x, int y, int w, int h, Fl_Align a);
FL_EXPORT void load(const char *f);
FL_EXPORT void load_fti(const char *fti);
FL_EXPORT void load_png(const char *png);
FL_EXPORT void load_xpm(const char *xpm);
const char *pattern() { return (pattern_); }
int size() { return (num_data_); }
@@ -108,5 +109,5 @@ class Fl_File_Icon //// Icon data
#endif // !_Fl_Fl_File_Icon_H_
//
// End of "$Id: Fl_File_Icon.H,v 1.1.2.2 2001/10/29 03:44:31 easysw Exp $".
// End of "$Id: Fl_File_Icon.H,v 1.1.2.3 2001/11/17 15:27:14 easysw Exp $".
//
+2 -9
View File
@@ -1,7 +1,7 @@
dnl -*- sh -*-
dnl the "configure" script is made from this by running GNU "autoconf"
dnl
dnl "$Id: configure.in,v 1.33.2.31.2.20 2001/11/02 20:40:29 easysw Exp $"
dnl "$Id: configure.in,v 1.33.2.31.2.21 2001/11/17 15:27:14 easysw Exp $"
dnl
dnl Configuration script for the Fast Light Tool Kit (FLTK).
dnl
@@ -347,15 +347,8 @@ if test -n "$GXX"; then
#
# Previous versions of GCC do not have the reliance on the stdc++
# or g++ libraries, so the extra supc++ library is not needed.
#
# [Apparently this "feature" is also present in the unofficial
# RedHat 2.96 release...]
case "`$CXX --version`" in
2.96*)
AC_MSG_WARN(GCC 2.96.x is not an official GCC release - use with caution!)
LIBS="$LIBS -lsupc++"
;;
3*)
AC_MSG_WARN(GCC 3.0.x is known to produce incorrect code - use with caution!)
LIBS="$LIBS -lsupc++"
@@ -501,5 +494,5 @@ AC_OUTPUT(makeinclude fltk-config)
chmod +x fltk-config
dnl
dnl End of "$Id: configure.in,v 1.33.2.31.2.20 2001/11/02 20:40:29 easysw Exp $".
dnl End of "$Id: configure.in,v 1.33.2.31.2.21 2001/11/17 15:27:14 easysw Exp $".
dnl
+1 -2
View File
@@ -33,8 +33,7 @@ double-buffering, overlay, menu, and OpenGL support. </P>
<P>The window's callback is done if the user tries to close a window
using the window manager and <A href=functions.html#modal><TT>
Fl::modal()</TT></A> is zero or equal to the window. <TT>Fl_Window</TT>
has a default callback that calls <TT>Fl_Window::hide()</TT> and calls <TT>
exit(0)</TT> if this is the last top-level window. </P>
has a default callback that calls <TT>Fl_Window::hide()</TT>. </P>
<H3>Methods</H3>
<CENTER>
<TABLE width=90% summary="Fl_Window methods.">
+3 -770
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+13 -16
View File
@@ -1,5 +1,5 @@
//
// "$Id: Fl_Help_View.cxx,v 1.1.2.9 2001/10/29 21:59:15 easysw Exp $"
// "$Id: Fl_Help_View.cxx,v 1.1.2.10 2001/11/17 15:27:15 easysw Exp $"
//
// Fl_Help_View widget routines.
//
@@ -2903,7 +2903,7 @@ Fl_Help_View::load(const char *f)// I - Filename to load (may also have target)
int // O - 0 = success, -1 = fail
Fl_Help_View::load_gif(Fl_Help_Image *img,// I - Image pointer
FILE *fp) // I - File to load from
FILE *fp)// I - File to load from
{
unsigned char buf[1024]; // Input buffer
gif_cmap_t cmap; // Colormap
@@ -3062,22 +3062,18 @@ Fl_Help_View::load_png(Fl_Help_Image *img,// I - Image pointer
if (info->color_type == PNG_COLOR_TYPE_PALETTE)
png_set_expand(pp);
if (info->color_type == PNG_COLOR_TYPE_GRAY)
img->d = 1;
else
if (info->color_type & PNG_COLOR_MASK_COLOR)
img->d = 3;
else
img->d = 1;
img->w = (int)info->width;
img->h = (int)info->height;
img->data = (unsigned char *)malloc(img->w * img->h * 3);
if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
img->d ++;
if (info->bit_depth < 8)
{
png_set_packing(pp);
png_set_expand(pp);
if (info->valid & PNG_INFO_sBIT)
png_set_shift(pp, &(info->sig_bit));
}
else if (info->bit_depth == 16)
png_set_strip_16(pp);
@@ -3088,6 +3084,10 @@ Fl_Help_View::load_png(Fl_Help_Image *img,// I - Image pointer
png_set_tRNS_to_alpha(pp);
#endif // HAVE_PNG_GET_VALID && HAVE_SET_TRNS_TO_ALPHA
img->w = (int)info->width;
img->h = (int)info->height;
img->data = (unsigned char *)malloc(img->w * img->h * img->d);
// Background color...
unsigned rgba = fltk_colors[bgcolor_];
@@ -3101,10 +3101,7 @@ Fl_Help_View::load_png(Fl_Help_Image *img,// I - Image pointer
rows = (png_bytep *)calloc(info->height, sizeof(png_bytep));
for (i = 0; i < (int)info->height; i ++)
if (info->color_type == PNG_COLOR_TYPE_GRAY)
rows[i] = img->data + i * img->w;
else
rows[i] = img->data + i * img->w * 3;
rows[i] = img->data + i * img->w * img->d;
// Read the image, handling interlacing as needed...
for (i = png_set_interlace_handling(pp); i > 0; i --)
@@ -3584,5 +3581,5 @@ scrollbar_callback(Fl_Widget *s, void *)
//
// End of "$Id: Fl_Help_View.cxx,v 1.1.2.9 2001/10/29 21:59:15 easysw Exp $".
// End of "$Id: Fl_Help_View.cxx,v 1.1.2.10 2001/11/17 15:27:15 easysw Exp $".
//
+3 -2
View File
@@ -1,5 +1,5 @@
#
# "$Id: Makefile,v 1.18.2.14.2.15 2001/10/27 03:33:25 easysw Exp $"
# "$Id: Makefile,v 1.18.2.14.2.16 2001/11/17 15:27:15 easysw Exp $"
#
# Library makefile for the Fast Light Tool Kit (FLTK).
#
@@ -45,6 +45,7 @@ CPPFILES = \
Fl_File_Chooser.cxx \
Fl_File_Chooser2.cxx \
Fl_File_Icon.cxx \
Fl_File_Icon2.cxx \
Fl_Group.cxx \
Fl_Help_Dialog.cxx \
Fl_Help_View.cxx \
@@ -267,5 +268,5 @@ install: $(LIBNAME) $(DSONAME) $(GLLIBNAME) $(GLDSONAME)
ln -s FL $(includedir)/Fl
#
# End of "$Id: Makefile,v 1.18.2.14.2.15 2001/10/27 03:33:25 easysw Exp $".
# End of "$Id: Makefile,v 1.18.2.14.2.16 2001/11/17 15:27:15 easysw Exp $".
#
+3
View File
@@ -87,6 +87,9 @@ Fl_File_Chooser2.o: ../FL/Fl_Window.H
Fl_File_Icon.o: ../config.h ../FL/Fl_File_Icon.H ../FL/Fl.H
Fl_File_Icon.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Widget.H
Fl_File_Icon.o: ../FL/fl_draw.H ../FL/filename.H
Fl_File_Icon2.o: ../config.h ../FL/Fl_File_Icon.H ../FL/Fl.H
Fl_File_Icon2.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Widget.H
Fl_File_Icon2.o: ../FL/fl_draw.H ../FL/filename.H
Fl_Group.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
Fl_Group.o: ../FL/Fl_Group.H ../FL/Fl_Window.H ../FL/Fl_Group.H
Fl_Group.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Tooltip.H
+11 -2
View File
@@ -1,5 +1,5 @@
#
# "$Id: Makefile,v 1.19.2.7.2.6 2001/08/05 16:28:03 easysw Exp $"
# "$Id: Makefile,v 1.19.2.7.2.7 2001/11/17 15:27:15 easysw Exp $"
#
# Test/example program makefile for the Fast Light Tool Kit (FLTK).
#
@@ -70,6 +70,12 @@ gldemos: $(GLALL)
$(ALL): ../lib/$(LIBNAME)
# Programs needing special instructions...
editor: editor.cxx
echo Compiling and linking $@...
$(CXX) -I.. $(CXXFLAGS) editor.cxx -o $@ $(LINKFLTK) $(LDLIBS) $(IMAGELIBS)
file_chooser: file_chooser.cxx
echo Compiling and linking $@...
$(CXX) -I.. $(CXXFLAGS) file_chooser.cxx -o $@ $(LINKFLTK) $(LDLIBS) $(IMAGELIBS)
help: help.cxx
echo Compiling and linking $@...
$(CXX) -I.. $(CXXFLAGS) help.cxx -o $@ $(LINKFLTK) $(LDLIBS) $(IMAGELIBS)
@@ -79,6 +85,9 @@ keyboard: keyboard.cxx keyboard_ui.cxx
mandelbrot: mandelbrot.cxx mandelbrot_ui.cxx
echo Compiling and linking $@...
$(CXX) -I.. $(CXXFLAGS) mandelbrot.cxx $(LINKFLTK) $(LDLIBS) -o $@
pixmap_browser: pixmap_browser.cxx
echo Compiling and linking $@...
$(CXX) -I.. $(CXXFLAGS) pixmap_browser.cxx -o $@ $(LINKFLTK) $(LDLIBS) $(IMAGELIBS)
# OpenGL demos...
CubeView: CubeMain.o CubeView.o CubeViewUI.o
@@ -127,5 +136,5 @@ install:
@echo Nothing to install in test directory.
#
# End of "$Id: Makefile,v 1.19.2.7.2.6 2001/08/05 16:28:03 easysw Exp $".
# End of "$Id: Makefile,v 1.19.2.7.2.7 2001/11/17 15:27:15 easysw Exp $".
#