Commit 6c4f347c authored by Aaron M. Ucko's avatar Aaron M. Ucko

[svn-upgrade] Integrating new upstream version, fltk1.1 (1.1.10~rc2)

parent 8de2185c
This diff is collapsed.
CHANGES IN FLTK 1.1.10
- Fixed image lib configure and fltk-config issues by backporting
the image lib and zlib configure code from FLTK 1.3 (STR #2203)
- Updated the bundled libpng to v1.2.40 (released Sep. 10, 2009)
- Fixed Fl_Choice contrast with light-on-dark settings (STR #2219)
- Added Xft2 font lookup table (STR #2215)
- Fixed X server "lock", if a modal dialog window is opened
while a menu is active (STR #1986)
- Updated mirror sites in documentation (STR #2220)
- Setting a default font for Xft (STR #2216)
- Temporarily limited builds to 32-bit on OX S to stay
compatible to Snow Leopard
- Fixed Windows compile bug with "#define USE_COLORMAP 0"
(STR #2241)
- Fixed glibc 2.10 compiler problems (Fedora 11 and others)
with scandir() and strchr() (STR #2222)
- Fixed OpenGL shared context handling (STR #2135)
- Fixed gray-scale images with alpha channel (STR #2105)
- Fixed unexpected shortcut behavior for Win32 (STR #2199)
- Added cast to Fl_Color in all Fluid code (STR #2206)
- Fixed wrong identifier for special keys combined with
modifier (STR #2196)
- Fixed documentation for Fl_Progress (STR #2209)
- Fix for multiple popups, when dragging and calling fl_alert()
and friends from the callback (STR #2159)
- Avoiding crashes for recursive common dialogs (this does not
fix the issue at hand yet) (STR 2150)
- Fluid printing used wrong colors under Windows (STR #2195)
- Fixed bad system menu hadling in OS X (STR #2153)
- Fixed File Input mouse pointer dragging (STR #2181)
- Added Fl_Scroll::bbox() documentation (STR #1893)
- Fixed static linking of image libraries (STR #1962)
- Fixed callback would not be called when shortcut was used with
radio and toggle buttons in default FL_RELEASE mode.
- Fixed a problem with TrackMouseEvent() (Windows only) that would
generate wrong FL_LEAVE events with subwindows. TrackMouseEvent
is now enabled by default (it was disabled for GNU compilers).
It can be disabled by defining NO_TRACK_MOUSE.
Improved test/subwindow.cxx (STR #2079)
- Fixed RGB colors for round box (STR #2097)
- Fixed documentation (added missing COMCTRL32.LIB dependency)
- Fl_Group::clip_children() is now public (STR #2017)
- Fixed first modifier key event (STR #1952)
- Fixed wrong default value of Fl_Spinner in Fluid (STR #1991)
- Fixed Fluid textcolor output (STR #1992)
- Added clarification to Fl_GL_Window mode function (STR #1945)
- Fl_Group and Fl_Scroll now resize themselves before
resizing their children (STR #2032)
- Fixed adding an idle handler during a draw() call (STR #1950)
- Improved stability of fl_read_image (STR #2021)
- Fixed menu position close to screen border (STR #2057)
CHANGES IN FLTK 1.1.9 CHANGES IN FLTK 1.1.9
- Improved color contrast in secondary selection blocks - Improved color contrast in secondary selection blocks
......
...@@ -7,7 +7,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.0) ...@@ -7,7 +7,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.0)
# The FLTK version # The FLTK version
SET(FLTK_VERSION_MAJOR "1") SET(FLTK_VERSION_MAJOR "1")
SET(FLTK_VERSION_MINOR "1") SET(FLTK_VERSION_MINOR "1")
SET(FLTK_VERSION_PATCH "9") SET(FLTK_VERSION_PATCH "10")
SET(FLTK_VERSION "${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}") SET(FLTK_VERSION "${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}")
SET(FLTK_VERSION_FULL "${FLTK_VERSION}.${FLTK_VERSION_PATCH}") SET(FLTK_VERSION_FULL "${FLTK_VERSION}.${FLTK_VERSION_PATCH}")
......
// //
// "$Id: Enumerations.H 6096 2008-04-12 04:18:58Z mike $" // "$Id: Enumerations.H 6817 2009-07-02 09:42:17Z AlbrechtS $"
// //
// Enumerations for the Fast Light Tool Kit (FLTK). // Enumerations for the Fast Light Tool Kit (FLTK).
// //
// Copyright 1998-2005 by Bill Spitzak and others. // Copyright 1998-2009 by Bill Spitzak and others.
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public // modify it under the terms of the GNU Library General Public
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
#define FL_MAJOR_VERSION 1 #define FL_MAJOR_VERSION 1
#define FL_MINOR_VERSION 1 #define FL_MINOR_VERSION 1
#define FL_PATCH_VERSION 9 #define FL_PATCH_VERSION 10
#define FL_VERSION ((double)FL_MAJOR_VERSION + \ #define FL_VERSION ((double)FL_MAJOR_VERSION + \
(double)FL_MINOR_VERSION * 0.01 + \ (double)FL_MINOR_VERSION * 0.01 + \
(double)FL_PATCH_VERSION * 0.0001) (double)FL_PATCH_VERSION * 0.0001)
...@@ -452,5 +452,5 @@ enum Fl_Damage { ...@@ -452,5 +452,5 @@ enum Fl_Damage {
#endif #endif
// //
// End of "$Id: Enumerations.H 6096 2008-04-12 04:18:58Z mike $". // End of "$Id: Enumerations.H 6817 2009-07-02 09:42:17Z AlbrechtS $".
// //
// //
// "$Id: Fl_Group.H 5993 2007-12-15 16:42:00Z mike $" // "$Id: Fl_Group.H 6468 2008-10-19 10:35:06Z AlbrechtS $"
// //
// Group header file for the Fast Light Tool Kit (FLTK). // Group header file for the Fast Light Tool Kit (FLTK).
// //
...@@ -50,9 +50,6 @@ class FL_EXPORT Fl_Group : public Fl_Widget { ...@@ -50,9 +50,6 @@ class FL_EXPORT Fl_Group : public Fl_Widget {
protected: protected:
enum { CLIP_CHILDREN = 2048 }; enum { CLIP_CHILDREN = 2048 };
void clip_children(int c) { if (c) set_flag(CLIP_CHILDREN); else clear_flag(CLIP_CHILDREN); }
int clip_children() { return (flags() & CLIP_CHILDREN) != 0; }
void draw(); void draw();
void draw_child(Fl_Widget&) const; void draw_child(Fl_Widget&) const;
void draw_children(); void draw_children();
...@@ -91,7 +88,10 @@ public: ...@@ -91,7 +88,10 @@ public:
void add_resizable(Fl_Widget& o) {resizable_ = &o; add(o);} void add_resizable(Fl_Widget& o) {resizable_ = &o; add(o);}
void init_sizes(); void init_sizes();
// back compatability function: void clip_children(int c) { if (c) set_flag(CLIP_CHILDREN); else clear_flag(CLIP_CHILDREN); }
int clip_children() { return (flags() & CLIP_CHILDREN) != 0; }
// back compatibility functions:
void focus(Fl_Widget* o) {o->take_focus();} void focus(Fl_Widget* o) {o->take_focus();}
Fl_Widget* & _ddfdesign_kludge() {return resizable_;} Fl_Widget* & _ddfdesign_kludge() {return resizable_;}
void forms_end(); void forms_end();
...@@ -107,5 +107,5 @@ public: ...@@ -107,5 +107,5 @@ public:
#endif #endif
// //
// End of "$Id: Fl_Group.H 5993 2007-12-15 16:42:00Z mike $". // End of "$Id: Fl_Group.H 6468 2008-10-19 10:35:06Z AlbrechtS $".
// //
# #
# "$Id: Makefile 5985 2007-11-20 21:15:08Z mike $" # "$Id: Makefile 6817 2009-07-02 09:42:17Z AlbrechtS $"
# #
# Top-level makefile for the Fast Light Tool Kit (FLTK). # Top-level makefile for the Fast Light Tool Kit (FLTK).
# #
# Copyright 1998-2007 by Bill Spitzak and others. # Copyright 1998-2009 by Bill Spitzak and others.
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public # modify it under the terms of the GNU Library General Public
...@@ -123,5 +123,5 @@ etags: ...@@ -123,5 +123,5 @@ etags:
etags FL/*.H FL/*.h src/*.cxx src/*.c src/*.h fluid/*.h fluid/*.cxx test/*.h test/*.cxx etags FL/*.H FL/*.h src/*.cxx src/*.c src/*.h fluid/*.h fluid/*.cxx test/*.h test/*.cxx
# #
# End of "$Id: Makefile 5985 2007-11-20 21:15:08Z mike $". # End of "$Id: Makefile 6817 2009-07-02 09:42:17Z AlbrechtS $".
# #
README - Fast Light Tool Kit (FLTK) Version 1.1.9 README - Fast Light Tool Kit (FLTK) Version 1.1.10
------------------------------------------------- --------------------------------------------------
WHAT IS FLTK? WHAT IS FLTK?
...@@ -164,7 +164,7 @@ TRADEMARKS ...@@ -164,7 +164,7 @@ TRADEMARKS
COPYRIGHT COPYRIGHT
FLTK is copyright 1998-2008 by Bill Spitzak FLTK is copyright 1998-2009 by Bill Spitzak
(spitzak@users.sourceforge.net) and others, including: (spitzak@users.sourceforge.net) and others, including:
Craig P. Earls Craig P. Earls
......
README.win32 - Building FLTK under Windows README.win32 - Building FLTK under Windows
------------------------------------------ ------------------------------------------
Last Update: May 2007 for release 1.1.8 Last Update: May 2009 for release 1.1.10
INTRODUCTION INTRODUCTION
...@@ -89,17 +89,13 @@ RECOMMENDED BUILD ENVIRONMENTS ...@@ -89,17 +89,13 @@ RECOMMENDED BUILD ENVIRONMENTS
1. Get the current Cygwin toolset. 1. Get the current Cygwin toolset.
This can either produce executables that do or do not This can either produce executables that do or do not
rely on the Cygwin DLL (check licensing) at your rely on the Cygwin DLL (check licensing) at your choice.
choice.
2. Get the latest MinGW toolset. It is recommended that 2. Get the latest MinGW toolset. It is recommended that you
you also get the MSYS shell and the msysDTK developer also get the MSYS shell and the msysDTK developer toolset.
toolset.
This will only produce normal Windows native
executables without any Unix or POSIX compatibility
layer.
This will only produce normal Windows native executables
without any Unix or POSIX compatibility layer.
See the links section below for more information. See the links section below for more information.
...@@ -164,7 +160,7 @@ BUILDING FLTK WITH CYGWIN OR MINGW ...@@ -164,7 +160,7 @@ BUILDING FLTK WITH CYGWIN OR MINGW
compilation instructions. compilation instructions.
WHY DOES A CONSOLE WINDOW APPEAR WHEN I RUN MY PROGRAM WHY DOES A CONSOLE WINDOW APPEAR WHEN I RUN MY PROGRAM?
Windows has a flag that determines whether an application Windows has a flag that determines whether an application
runs in the foreground with a console or in the background runs in the foreground with a console or in the background
...@@ -193,14 +189,3 @@ HOW DO I GET OPENGL TO WORK? ...@@ -193,14 +189,3 @@ HOW DO I GET OPENGL TO WORK?
#define HAVE_GL 1 #define HAVE_GL 1
will change this to compile and link in OpenGL. will change this to compile and link in OpenGL.
/* /*
* "$Id: configh.in 5678 2007-02-08 20:14:30Z mike $" * "$Id: configh.in 6832 2009-07-23 22:36:04Z AlbrechtS $"
* *
* Configuration file for the Fast Light Tool Kit (FLTK). * Configuration file for the Fast Light Tool Kit (FLTK).
* @configure_input@ * @configure_input@
...@@ -170,7 +170,8 @@ ...@@ -170,7 +170,8 @@
#undef U64 #undef U64
/* /*
* HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR: * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H,
* HAVE_SCANDIR, HAVE_SCANDIR_POSIX:
* *
* Where is <dirent.h> (used only by fl_file_chooser and scandir). * Where is <dirent.h> (used only by fl_file_chooser and scandir).
*/ */
...@@ -180,6 +181,7 @@ ...@@ -180,6 +181,7 @@
#undef HAVE_SYS_DIR_H #undef HAVE_SYS_DIR_H
#undef HAVE_NDIR_H #undef HAVE_NDIR_H
#undef HAVE_SCANDIR #undef HAVE_SCANDIR
#undef HAVE_SCANDIR_POSIX
/* /*
* Possibly missing sprintf-style functions: * Possibly missing sprintf-style functions:
...@@ -295,5 +297,5 @@ ...@@ -295,5 +297,5 @@
#undef HAVE_DLSYM #undef HAVE_DLSYM
/* /*
* End of "$Id: configh.in 5678 2007-02-08 20:14:30Z mike $". * End of "$Id: configh.in 6832 2009-07-23 22:36:04Z AlbrechtS $".
*/ */
This diff is collapsed.
dnl -*- sh -*- dnl -*- sh -*-
dnl the "configure" script is made from this by running GNU "autoconf" dnl the "configure" script is made from this by running GNU "autoconf"
dnl dnl
dnl "$Id: configure.in 6094 2008-04-11 16:53:01Z matt $" dnl "$Id: configure.in 6892 2009-09-20 17:25:25Z AlbrechtS $"
dnl dnl
dnl Configuration script for the Fast Light Tool Kit (FLTK). dnl Configuration script for the Fast Light Tool Kit (FLTK).
dnl dnl
dnl Copyright 1998-2007 by Bill Spitzak and others. dnl Copyright 1998-2009 by Bill Spitzak and others.
dnl dnl
dnl This library is free software; you can redistribute it and/or dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Library General Public dnl modify it under the terms of the GNU Library General Public
...@@ -36,7 +36,7 @@ AC_INIT(src/Fl.cxx) ...@@ -36,7 +36,7 @@ AC_INIT(src/Fl.cxx)
dnl FLTK library versions... dnl FLTK library versions...
FL_MAJOR_VERSION=1 FL_MAJOR_VERSION=1
FL_MINOR_VERSION=1 FL_MINOR_VERSION=1
FL_PATCH_VERSION=9 FL_PATCH_VERSION=10
FL_API_VERSION=${FL_MAJOR_VERSION}.${FL_MINOR_VERSION} FL_API_VERSION=${FL_MAJOR_VERSION}.${FL_MINOR_VERSION}
AC_SUBST(FL_MAJOR_VERSION) AC_SUBST(FL_MAJOR_VERSION)
...@@ -83,6 +83,19 @@ case $uname in ...@@ -83,6 +83,19 @@ case $uname in
DSOFLAGS="$DSOFLAGS -mno-cygwin" DSOFLAGS="$DSOFLAGS -mno-cygwin"
fi fi
;; ;;
Darwin*)
# Starting with 10.6 (Snow Leopard), OS X does not support
# Carbon calls anymore. We patch this until we are completely Cocoa compliant
# by limiting ourselves to 32 bit Intel compiles
d_ver_rev=`sw_vers -productVersion | sed -e 's/\.[[0-9]][[0-9]]*//2'`
d_ver=`echo $d_ver_rev | sed -e 's/\.[[0-9]][[0-9]]*//'`
d_rev=`echo $d_ver_rev | sed -e 's/[[0-9]][[0-9]]*\.//'`
if test $d_ver -gt 10 -o $d_ver -eq 10 -a $d_rev -ge 6; then
CFLAGS="$CFLAGS -arch i386"
CXXFLAGS="$CXXFLAGS -arch i386"
LDFLAGS="$LDFLAGS -arch i386"
fi
;;
esac esac
dnl Define the libraries and link options we'll need. dnl Define the libraries and link options we'll need.
...@@ -98,6 +111,11 @@ FLLIBNAME="../lib/libfltk_forms.a" ...@@ -98,6 +111,11 @@ FLLIBNAME="../lib/libfltk_forms.a"
GLLIBNAME="../lib/libfltk_gl.a" GLLIBNAME="../lib/libfltk_gl.a"
IMGLIBNAME="../lib/libfltk_images.a" IMGLIBNAME="../lib/libfltk_images.a"
LIBBASENAME="libfltk.a"
FLLIBBASENAME="libfltk_forms.a"
GLLIBBASENAME="libfltk_gl.a"
IMGLIBBASENAME="libfltk_images.a"
AC_SUBST(FLLIBNAME) AC_SUBST(FLLIBNAME)
AC_SUBST(GLDEMOS) AC_SUBST(GLDEMOS)
AC_SUBST(GLLIBNAME) AC_SUBST(GLLIBNAME)
...@@ -109,6 +127,11 @@ AC_SUBST(LINKFLTKFORMS) ...@@ -109,6 +127,11 @@ AC_SUBST(LINKFLTKFORMS)
AC_SUBST(LINKFLTKGL) AC_SUBST(LINKFLTKGL)
AC_SUBST(LINKFLTKIMG) AC_SUBST(LINKFLTKIMG)
AC_SUBST(LIBBASENAME)
AC_SUBST(FLLIBBASENAME)
AC_SUBST(GLLIBBASENAME)
AC_SUBST(IMGLIBBASENAME)
dnl Handle compile-time options... dnl Handle compile-time options...
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]]) AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]])
if test x$enable_debug = xyes; then if test x$enable_debug = xyes; then
...@@ -365,6 +388,26 @@ AC_CHECK_FUNC(scandir, ...@@ -365,6 +388,26 @@ AC_CHECK_FUNC(scandir,
else else
AC_DEFINE(HAVE_SCANDIR) AC_DEFINE(HAVE_SCANDIR)
fi) fi)
dnl Do we have the POSIX compatible scandir() prototype?
AC_CACHE_CHECK([whether we have the POSIX compatible scandir() prototype],
ac_cv_cxx_scandir_posix,[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([
#include <dirent.h>
int func (const char *d, dirent ***list, void *sort) {
int n = scandir(d, list, 0, (int(*)(const dirent **, const dirent **))sort);
}
],[
], ac_cv_cxx_scandir_posix=yes, ac_cv_cxx_scandir_posix=no)
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_scandir_posix" = yes; then
AC_DEFINE(HAVE_SCANDIR_POSIX)
fi
AC_CHECK_FUNC(vsnprintf,[ AC_CHECK_FUNC(vsnprintf,[
case "$uname" in case "$uname" in
HP-UX*) HP-UX*)
...@@ -481,72 +524,128 @@ AC_SUBST(AUDIOLIBS) ...@@ -481,72 +524,128 @@ AC_SUBST(AUDIOLIBS)
dnl Check for image libraries... dnl Check for image libraries...
SAVELIBS="$LIBS" SAVELIBS="$LIBS"
IMAGELIBS="" IMAGELIBS=""
STATICIMAGELIBS=""
AC_SUBST(IMAGELIBS) AC_SUBST(IMAGELIBS)
AC_SUBST(STATICIMAGELIBS)
AC_ARG_ENABLE(localjpeg, [ --enable-localjpeg use local JPEG library, default=auto],
[if test x$enable_localjpeg = xyes; then # Handle the JPEG lib linking mode (use fltk local or system lib)
ac_cv_lib_jpeg_jpeg_CreateCompress=no # If --enable-(resp. --disable-)localjpeg parameter is not set by user
# Then we check the JPEG lib usability, with result in sysjpeglib_ok variable
AC_ARG_ENABLE(localjpeg, [ --enable-localjpeg use local JPEG library, default=auto])
# Check for System lib use if automatic mode or --disable-localjpeg is requested
sysjpeglib_ok=no
sysjpeginc_ok=no
if test x$enable_localjpeg != xyes; then
AC_CHECK_LIB(jpeg,jpeg_CreateCompress,
[AC_CHECK_HEADER(jpeglib.h,
sysjpeginc_ok=yes)
if test x$sysjpeginc_ok = xyes; then
sysjpeglib_ok=yes
fi]) fi])
fi
AC_CHECK_LIB(jpeg,jpeg_CreateCompress, # Now set the jpeg lib and include flags according to the requested mode and availability
if test x$enable_localjpeg = xyes -o x$sysjpeglib_ok = xno; then
JPEGINC="-I../jpeg"
JPEG="jpeg"
IMAGELIBS="-lfltk_jpeg $IMAGELIBS"
STATICIMAGELIBS="\$libdir/libfltk_jpeg.a $STATICIMAGELIBS"
AC_DEFINE(HAVE_LIBJPEG) AC_DEFINE(HAVE_LIBJPEG)
JPEGINC="" #ac_cv_lib_jpeg_jpeg_CreateCompress=no # from ima: should not be necessary
JPEG="" # Finally, warn user if system lib was requested but not found
IMAGELIBS="-ljpeg $IMAGELIBS",
if test x$enable_localjpeg = xno; then if test x$enable_localjpeg = xno; then
AC_MSG_WARN(Cannot find system jpeg lib or header: choosing the local lib mode.)
fi
else
JPEGINC="" JPEGINC=""
JPEG="" JPEG=""
else IMAGELIBS="-ljpeg $IMAGELIBS"
STATICIMAGELIBS="-ljpeg $STATICIMAGELIBS"
AC_DEFINE(HAVE_LIBJPEG) AC_DEFINE(HAVE_LIBJPEG)
JPEGINC="-I../jpeg" fi
JPEG="jpeg"
IMAGELIBS="-lfltk_jpeg $IMAGELIBS"
fi)
AC_ARG_ENABLE(localzlib, [ --enable-localzlib use local ZLIB library, default=auto], # Handle the ZLIB lib linking mode (use fltk local or system lib)
[if test x$enable_localzlib = xyes; then # If --enable-(resp. --disable-)localzlib parameter is not set by user
ac_cv_lib_z_gzgets=no # Then we check the ZLIB lib usability, with result in syszlib_ok variable
AC_ARG_ENABLE(localzlib, [ --enable-localzlib use local ZLIB library, default=auto])
# Check for System lib use if automatic mode or --disable-localzlib is requested
syszlib_ok=no
syszinc_ok=no
if test x$enable_localzlib != xyes; then
AC_CHECK_LIB(z,gzgets,
[AC_CHECK_HEADER(zlib.h,
syszinc_ok=yes)
if test x$syszinc_ok = xyes; then
syszlib_ok=yes
fi]) fi])
fi
AC_CHECK_LIB(z,gzgets, # Now set the Z lib and include flags according to the requested mode and availability
if test x$enable_localzlib = xyes -o x$syszlib_ok = xno ; then
ZLIBINC="-I../zlib"
ZLIB="zlib"
LIBS="-lfltk_z $LIBS"
IMAGELIBS="-lfltk_z $IMAGELIBS"
STATICIMAGELIBS="\$libdir/libfltk_z.a $STATICIMAGELIBS"
AC_DEFINE(HAVE_LIBZ) AC_DEFINE(HAVE_LIBZ)
ZLIBINC="" ac_cv_lib_z_gzgets=no # fc: is still necessary ?
ZLIB="" # Finally, warn user if system lib was requested but not found
LIBS="-lz $LIBS"
IMAGELIBS="-lz $IMAGELIBS",
if test x$enable_localzlib = xno; then if test x$enable_localzlib = xno; then
AC_MSG_WARN(Cannot find system z lib or header: choosing the local lib mode.)
fi
else
ZLIBINC="" ZLIBINC=""
ZLIB="" ZLIB=""
else LIBS="-lz $LIBS"
IMAGELIBS="-lz $IMAGELIBS"
STATICIMAGELIBS="-lz $STATICIMAGELIBS"
AC_DEFINE(HAVE_LIBZ) AC_DEFINE(HAVE_LIBZ)
ZLIBINC="-I../zlib" fi
ZLIB="zlib"
LIBS="-lfltk_z $LIBS"
IMAGELIBS="-lfltk_z $IMAGELIBS"
fi)
AC_ARG_ENABLE(localpng, [ --enable-localpng use local PNG library, default=auto], # Handle the PNG lib linking mode (use fltk local or system lib)
[if test x$enable_localpng = xyes; then # If --enable-(resp. --disable-)localpng parameter is not set by user
ac_cv_lib_png_png_set_tRNS_to_alpha=no # Then we check the png lib usability with result in syspng_lib variable
AC_ARG_ENABLE(localpng, [ --enable-localpng use local PNG library, default=auto])
# Now check if system lib is usable, we check Lib AND include availability with inc variant,
# but only, if the builtin lib is not requested
syspnglib_ok=no
syspnginc_ok=no
if test x$enable_localpng != xyes; then
AC_CHECK_LIB(png, png_read_info,
[AC_CHECK_HEADER(png.h,
AC_DEFINE(HAVE_PNG_H)
syspnginc_ok=yes)
AC_CHECK_HEADER(libpng/png.h,
AC_DEFINE(HAVE_LIBPNG_PNG_H)
syspnginc_ok=yes)
if test x$syspnginc_ok = xyes; then
syspnglib_ok=yes
fi]) fi])
fi
AC_CHECK_LIB(png,png_set_tRNS_to_alpha, [ # The following is executed if the lib was not found usable or if local lib is required explicitly
PNGINC="" if test x$enable_localpng = xyes -o x$syspnglib_ok = xno ; then
PNG="" PNGINC="-I../png"
IMAGELIBS="-lpng $IMAGELIBS" PNG="png"
IMAGELIBS="-lfltk_png $IMAGELIBS"
STATICIMAGELIBS="\$libdir/libfltk_png.a $STATICIMAGELIBS"
AC_DEFINE(HAVE_LIBPNG) AC_DEFINE(HAVE_LIBPNG)
AC_CHECK_HEADER(png.h, AC_DEFINE(HAVE_PNG_H))],[ AC_DEFINE(HAVE_PNG_H)
AC_DEFINE(HAVE_PNG_GET_VALID)
AC_DEFINE(HAVE_PNG_SET_TRNS_TO_ALPHA)
# Finally, warn user if system lib was requested but not found
if test x$enable_localpng = xno; then if test x$enable_localpng = xno; then
AC_MSG_WARN(Cannot find system png lib or header: choosing the local lib mode.)
fi
else
PNGINC="" PNGINC=""
PNG="" PNG=""
else IMAGELIBS="-lpng $IMAGELIBS"
STATICIMAGELIBS="-lpng $STATICIMAGELIBS"
AC_DEFINE(HAVE_LIBPNG) AC_DEFINE(HAVE_LIBPNG)
AC_DEFINE(HAVE_PNG_H) AC_CHECK_LIB(png,png_get_valid, AC_DEFINE(HAVE_PNG_GET_VALID))
PNGINC="-I../png" AC_CHECK_LIB(png,png_set_tRNS_to_alpha, AC_DEFINE(HAVE_PNG_SET_TRNS_TO_ALPHA))
PNG="png" fi
IMAGELIBS="-lfltk_png $IMAGELIBS"
fi])
AC_SUBST(JPEG) AC_SUBST(JPEG)
AC_SUBST(JPEGINC) AC_SUBST(JPEGINC)
...@@ -1156,5 +1255,5 @@ dnl Make sure the fltk-config script is executable... ...@@ -1156,5 +1255,5 @@ dnl Make sure the fltk-config script is executable...
chmod +x fltk-config chmod +x fltk-config
dnl dnl
dnl End of "$Id: configure.in 6094 2008-04-11 16:53:01Z matt $". dnl End of "$Id: configure.in 6892 2009-09-20 17:25:25Z AlbrechtS $".
dnl dnl
...@@ -546,11 +546,14 @@ window and then calls the default widget callback.</p> ...@@ -546,11 +546,14 @@ window and then calls the default widget callback.</p>
<H4><A NAME="Fl.delete_widget">void delete_widget(Fl_Widget*);</A></H4> <H4><A NAME="Fl.delete_widget">void delete_widget(Fl_Widget*);</A></H4>
<p>Schedules a widget for deletion at the next call to the event loop. <p>Schedules a widget for deletion at the next call to the event loop.
Use this method to delete a widget inside a callback function. Use this method to delete a widget inside a callback function. As with
To avoid early deletion of widgets, this function normal widget deletion it is your responsibility to remove() the widget
from any parent group or window before calling this.</p>
<p>To avoid early deletion of widgets, this function
should be called toward the end of a callback and only after any call should be called toward the end of a callback and only after any call
to the event loop (<tt>Fl:wait()</tt>, <tt>Fl::flush()</tt>, to the event loop (<tt>Fl::wait()</tt>, <tt>Fl::flush()</tt>,
<tt>fl_ask()</tt>, etc).</p> <tt>Fl::check()</tt>, <tt>fl_ask()</tt>, etc.).</p>
<p>When deleting groups or windows, you must only delete the group or <p>When deleting groups or windows, you must only delete the group or
window widget and not the individual child widgets.</p> window widget and not the individual child widgets.</p>
......
...@@ -136,6 +136,8 @@ this is a top-level window this will unfortunately also cause the ...@@ -136,6 +136,8 @@ this is a top-level window this will unfortunately also cause the
window to blink, raise to the top, and be de-iconized, and the <TT>xid()</TT> window to blink, raise to the top, and be de-iconized, and the <TT>xid()</TT>
will change, possibly breaking other code. It is best to make the GL will change, possibly breaking other code. It is best to make the GL
window a child of another window if you wish to do this! </P> window a child of another window if you wish to do this! </P>
<P><TT>mode()</TT> must not be called within <TT>draw()</TT> since it
changes the current context.</P>
<H4><A name=Fl_Gl_Window.can_do>static int Fl_Gl_Window::can_do(int) <H4><A name=Fl_Gl_Window.can_do>static int Fl_Gl_Window::can_do(int)
<BR> int Fl_Gl_Window::can_do() const</A></H4> <BR> int Fl_Gl_Window::can_do() const</A></H4>
Returns non-zero if the hardware supports the given or current OpenGL Returns non-zero if the hardware supports the given or current OpenGL
......
...@@ -45,6 +45,11 @@ user. ...@@ -45,6 +45,11 @@ user.
<P>The constructor creates the progress bar using the position, <P>The constructor creates the progress bar using the position,
size, and label. size, and label.
<P>You can set the background color with color() and the progress bar color with
selection_color(), or you can set both colors together with color(unsigned bg, unsigned sel).
<P>The default colors are FL_BACKGROUND2_COLOR and FL_YELLOW, resp.
<H4><A name="Fl_Progress.~Fl_Progress">Fl_Progress::~Fl_Progress(void)</A></H4> <H4><A name="Fl_Progress.~Fl_Progress">Fl_Progress::~Fl_Progress(void)</A></H4>
<P>The destructor removes the progress bar. <P>The destructor removes the progress bar.
......
...@@ -59,6 +59,7 @@ inside another Fl_Scroll may result in drawing errors when resizing.</I></P> ...@@ -59,6 +59,7 @@ inside another Fl_Scroll may result in drawing errors when resizing.</I></P>
<LI><A href=#Fl_Scroll.Fl_Scroll>Fl_Scroll</A></LI> <LI><A href=#Fl_Scroll.Fl_Scroll>Fl_Scroll</A></LI>
<LI><A href=#Fl_Scroll.~Fl_Scroll>~Fl_Scroll</A></LI> <LI><A href=#Fl_Scroll.~Fl_Scroll>~Fl_Scroll</A></LI>
<LI><A href=#Fl_Scroll.align>align</A></LI> <LI><A href=#Fl_Scroll.align>align</A></LI>
<LI><A href=#Fl_Scroll.bbox>bbox</A></LI>
<LI><A href=#Fl_Scroll.position>position</A></LI> <LI><A href=#Fl_Scroll.position>position</A></LI>
<LI><A href=#Fl_Scroll.type>type</A></LI> <LI><A href=#Fl_Scroll.type>type</A></LI>
<LI><A href=#Fl_Scroll.xposition>xposition</A></LI> <LI><A href=#Fl_Scroll.xposition>xposition</A></LI>
...@@ -90,16 +91,27 @@ disappear if the data will fit in the area of the scroll. <TT>type()</TT> ...@@ -90,16 +91,27 @@ disappear if the data will fit in the area of the scroll. <TT>type()</TT>
horizontal always off. </LI> horizontal always off. </LI>
<LI><TT>Fl_Scroll::BOTH_ALWAYS</TT> - Both always on. </LI> <LI><TT>Fl_Scroll::BOTH_ALWAYS</TT> - Both always on. </LI>
</UL> </UL>
<H4><A name=Fl_Scroll.align>void Fl_Scroll::scrollbar.align(int)</A></H4> <H4><A name=Fl_Scroll.align>void Fl_Scroll::scrollbar.align(int)</A></H4>
This is used to change what side the scrollbars are drawn on. If the <TT> This is used to change what side the scrollbars are drawn on. If the <TT>
FL_ALIGN_LEFT</TT> bit is on, the vertical scrollbar is on the left. FL_ALIGN_LEFT</TT> bit is on, the vertical scrollbar is on the left.
If the <TT>FL_ALIGN_TOP</TT> bit is on, the horizontal scrollbar is on If the <TT>FL_ALIGN_TOP</TT> bit is on, the horizontal scrollbar is on
the top. Note that only the alignment flags in <TT>scrollbar</TT> are the top. Note that only the alignment flags in <TT>scrollbar</TT> are
considered. The flags in <TT>hscrollbar</TT> however are ignored. considered. The flags in <TT>hscrollbar</TT> however are ignored.
<H4><A NAME="Fl_Scroll.bbox">Fl_Scroll::bbox(int &amp;x, int &amp;y, int &amp;w, int &amp;h)</A></H4>
<P><tt>[protected]</tt> This method returns the bounding box for the interior of the scrolling
area, inside the scrollbars.
<H4><A name=Fl_Scroll.xposition>int Fl_Scroll::xposition() const</A></H4> <H4><A name=Fl_Scroll.xposition>int Fl_Scroll::xposition() const</A></H4>
Gets the current horizontal scrolling position. Gets the current horizontal scrolling position.