Commit Graph

6641 Commits

Author SHA1 Message Date
Albrecht Schlosser
18e72ba9e7 Fix another compiler warning [-Wformat=].
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11096 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 04:28:04 +00:00
Albrecht Schlosser
1d85cc43f3 Fix compiler warnings [-Wsign-compare] (STR #2988).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11095 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 03:40:58 +00:00
Albrecht Schlosser
e934dd5468 Fix compiler warnings (STR #2988).
gcc issued lots of warnings if compiled with -Wundef. This shows access
to undefined preprocessor macros, particularly for config tests.

This update is similar, but not identical to fltk-cpp-fixes.patch as
posted on STR #2988 (file #1). There have been changes in the configure
script and the  macros in configh.in and configh.cmake.in meanwhile.

This commit compiles with -Wundef w/o such warnings under Linux and
Windows (MinGW).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11094 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 02:49:56 +00:00
Albrecht Schlosser
2fbffa98fa Porting back changes of branch-1.3-porting.
The old behavior is retained, but the files have been modified
to match the new versions in the porting branch as much as possible.

The porting branch has its own (modified) version. Windows executables
built with the new IDE's (generated by CMake) don't have the trailing 'd'
in Debug mode.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11091 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-30 21:11:16 +00:00
Albrecht Schlosser
1139af35af [CMake] Work around CMake bug in CMake versions 3.4.x.
CMake versions 3.4.x crash when using fltk_wrap_ui, a built-in CMake
command. According to the CMake devs this will be fixed in CMake 3.5.

However, since fltk_wrap_ui is no longer necessary (it can replaced by
custom build commands) and some Linux distributions deploy CMake 3.4.x
we decided to use an own replacement function.

This makes sure that FLTK can be built with CMake 3.4.x, but FLTK users
may still have to rewrite their own CMake files to not use fltk_wrap_ui.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11081 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-29 13:09:30 +00:00
Greg Ercolano
01e5f26f2f Fixed incomplete example.
Re: David Allen's post today on fltk.general



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-25 18:41:59 +00:00
Albrecht Schlosser
e8d6a11e78 Documentation fixes (Fl_Text_Buffer and Fl_Text_Display).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11051 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 23:15:15 +00:00
Albrecht Schlosser
70f66d5ded Delete obsolete FL/ folder in ide/VisualC6.
ide/VisualC6/FL/abi-version.h is not used anymore.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11050 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 23:10:14 +00:00
Matthias Melcher
abb3281b5e Updated screenshot of all available symbols
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11044 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 10:48:33 +00:00
Greg Ercolano
8f72a7a790 Small tweak for one of VS's macros.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11042 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 01:47:58 +00:00
Greg Ercolano
a50000484d If FL/abi-version.h doesn't exist, it's created from abi-version.ide
(STR#3249)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11041 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 01:35:22 +00:00
Manolo Gouy
88b8887842 deleted
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11015 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 05:41:58 +00:00
Manolo Gouy
1a1c68e0c5 Changed the run-script so t copies abi-version.ide to FL/abi-version.h
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11014 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 05:41:25 +00:00
Manolo Gouy
1a9f105ef6 Added 'run script phase' that copies abi-version.ide
to ide/Xcode4/FL/abi-version.h before building the FLTK library.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11011 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-19 17:42:30 +00:00
Albrecht Schlosser
2b6c2bc7af Make VisualC2008/2010 projects create FL/abi-version.h (STR #3249).
First step towards a hopefully clean creation of FL/abi-version.h for all
Windows (Visual Studio) and maybe also Xcode projects (if necessary) in
order to "simulate" configure and CMake methods to create this file.

I could only modify the VisualC2008 and VisualC2010 project files, because
I don't have VisualC6 and/or Xcode. Help needed...

To do for remaining <ide> directories (ide/VisualC6 and maybe ide/Xcode4):

 (1) Remove <ide>/FL folders including <ide>/FL/abi-version.h.
 (2) Add a Pre-Build event or equivalent on project 'fltk' for all
     potential build configurations (Debug, Release, ...)
 (3) Maybe add project dependencies to ensure that the Pre-Build event
     of project 'fltk' is executed before all other projects.

Notes:

 (a) Command line for Pre-Build events of VS2008/2010:
     "copy /Y $(SolutionDir)..\..\abi-version.ide $(SolutionDir)..\..\FL\abi-version.h"
     Something similar should work for VC6 as well.

 (b) While building the projects I found some wrong output settings in zlib
     projects. These have been fixed in this commit as well (unrelated).
     
 (c) .gitignore has been extended to ignore all intermediate build files
     of VS2008/VS2010 ide projects.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11010 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-19 14:02:10 +00:00
Albrecht Schlosser
797e4d60cc Fix undefined reference building shared cairo library (STR #3276).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11005 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-16 01:48:04 +00:00
Manolo Gouy
7523748660 Mention new method Fl_Image_Surface::draw_decorated_window().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11000 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-07 05:09:11 +00:00
Manolo Gouy
739e4a8eaf Mac OS: improved the Fl_Image_Surface class so it returns an RGBA image
allowing to draw exactly windows with rounded corners.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10999 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-06 20:47:39 +00:00
Manolo Gouy
2f642a51c9 Fixed typo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10998 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-06 20:41:57 +00:00
Manolo Gouy
c9712614df 1) The Fl_Window::decorated_h() computation was incorrect under MSWindows10
because it did not use the correct dwmapi.dll - based implementation.
This commit uses the correct way to compute the width and height of window
borders in Fl_Window::decorated_h() and in Fl_Paged_Device::draw_decorated_window().

2) Fixed the computation of enhanced metafile units that correspond to a given pixel size
used by the Fl_Copy_Surface class on the WIN32 platform.

Tested with MSWindows XP, 7 and 10 using the device test app.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10997 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-05 11:59:08 +00:00
Manolo Gouy
95fb87eff5 1) For the X11 and the Mac OS platforms, a default font (FL_HELVETICA, FL_NORMAL_SIZE)
is used when fl_draw() is called while no font has been set before. This commit does the same
on the MSWindows platform, for consistency.

2) Slightly improved Fl_Image_Surface::draw_decorated_window() under WIN32.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10996 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-05 05:48:58 +00:00
Manolo Gouy
94e2c48f5f Implemented Fl_Image_Surface::draw_decorated_window().
This gives the same drawing capabilities to all supported drawing 
surfaces: display, printer, clipboard, in-memory bitmap image,
PostScript file.

Also, completed the Mac OS implementation of 
Fl_Copy_Surface::draw_decorated_window(Fl_Window *win, int delta_x=0, int delta_y=0)
that did not honor non-zero last arguments.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10990 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04 13:16:23 +00:00
Manolo Gouy
d37269a23b The changes introduced at r.10921 destroyed program-controlled window resizing.
This change hopefully repairs that.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10987 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-31 10:39:51 +00:00
Manolo Gouy
69ec698e41 Mac OS: modified CMake config files to allow use of OPTION_APPLE_X11
to build an X11-using version of FLTK on the Mac OS platform.
This matches the recent support of the --enable-x11 option
by the configure script on the mac.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10986 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-31 06:19:59 +00:00
Albrecht Schlosser
3beb45165a [CMake] config.h, part 2 - full compatibility with autoconf.
This commit makes the file config.h generated by CMake 100% compatible
with the one generated by autoconf/configure.

Fixes in this commit:
 - Set FLTK_DATADIR and FLTK_DOCDIR with the same default values.
   Note: needs some cleanup, option values are not clear, '/fltk'
   is currently appended in export.cmake (needs improvement).
 - Simulation of autoconf macro AC_HEADER_DIRENT for correct
   definition of only one 'dirent' header file.
 - Fix more function checks:
    - dlsym
    - png_get_valid
    - png_set_tRNS_to_alpha
 - Improve "Big Endian" check for __APPLE__ (mac_endianness.h).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10985 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-30 21:13:07 +00:00
Albrecht Schlosser
4f5e6e7732 Harmonize configure and CMake build system (part 1).
The files "config.h" generated by configure and CMake are now almost
identical, except a few comments and some still missing or failing
config tests, for instance checks for some functions in libraries.
[Note: tested and compared on Linux.]

configh.cmake.in: Fixed many #cmakedefine and #cmakedefine01 statements
  so they #define their variables as 0 or 1, or /* #undef */ it, resp.,
  as it is done in the configure build.

Added tests:
  - libXrender

Fixed tests:
  - function glXGetProcAddressARB

Todo (still failing tests in CMake):
  - HAVE_PNG_GET_VALID
  - HAVE_PNG_SET_TRNS_TO_ALPHA
  - HAVE_DLSYM

Other remaining issues:
  - compiler flags introduced in configure/make build
  - HAVE_SYS_NDIR_H - maybe missing test in configure ?
  - HAVE_SYS_DIR_H  - maybe missing test in configure ?
  - HAVE_NDIR_H     - maybe missing test in configure ?
  - WORDS_BIGENDIAN and #include <mac_endianness.h> ...
    i.e. Mac OS X specific #include needed or not ?



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10984 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-30 14:37:35 +00:00
Albrecht Schlosser
17c4817592 Add configure and CMake checks for X11/Xregion.h.
Configure and CMake now both check if X11/Xregion.h exists on the
build system and set HAVE_X11_XREGION_H in config.h accordingly.

src/Fl_Pixmap.cxx: modified to use the configure test as proposed by Manolo
in fltk.coredev on Dec 13 2015 in thread "Using X11 backend on OS X".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-30 12:10:15 +00:00
Manolo Gouy
bb4f485708 Mac OS: add if(APPLE condition to Mac OS-specific target property.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10982 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-29 16:50:50 +00:00
Manolo Gouy
8ac33d6b71 Mac OS: Enhanced the application bundle for the editor demo
so it is launchable by dropping any file on its icon. This is
done both for the configure/make and the CMake build systems
(the Xcode build system did that already).
The editor demo is the only one calling fl_open_callback().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-29 16:41:15 +00:00
Manolo Gouy
fdd1369292 Mac OS + CMake: this file is used by CMake to build the Info.plist files of the application
bundles it creates. This makes these apps support retina displays, because
the file contains
	<key>NSHighResolutionCapable</key>
	<true/>


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10980 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-26 16:14:19 +00:00
Manolo Gouy
59823515cf Mac OS: It is not necessary to open the display to send the
+[NSWindow  frameRectForContentRect:styleMask:] message
(checked on 10.11 and 10.3). Therefore fluid -c will run without
opening the display.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-23 09:33:06 +00:00
Manolo Gouy
527d5943d0 Mac OS: when an app is asked to open a file by Applescript, have it redraw itself
without waiting for the next event to come, because AppleScript does not break the
event loop.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-23 07:34:49 +00:00
Manolo Gouy
ca5811e8bc Documentation only: removed warnings that appeared with Doxygen 1.8.10
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10977 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-22 11:49:03 +00:00
Manolo Gouy
6eb4354996 Doc change only: clearly document that FLTK has at any time a current drawing surface and a current graphics device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-22 10:15:28 +00:00
Manolo Gouy
25fc85190e Mac OS: Fix for STR#3268 where a fullscreen window could become relocated
behind the menu bar and dock.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-21 13:38:49 +00:00
Manolo Gouy
9c2a7e4a72 FLTK code and fluid-generated code can be used in static initializers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-19 07:27:11 +00:00
Manolo Gouy
309a76e81c Trying to find how to best write the // "$Id$" lines in src/Fl_File_Chooser.fl
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10973 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-19 06:35:26 +00:00
Manolo Gouy
43bfe74b25 Running FLTK in static initializers (cont'd):
1) Changed the way fluid attaches images to widgets and menu items so
it is compatible with running fluid-generated code containing such images
in a static initializer. Images are now attached calling a function:
  widget->image( image_function_name() );
and this function is defined before in fluid-generated code as:
   static Fl_Image *image_function_name() {
     static Fl_Image *image = new image_type(......);
     return image;
   }

2) Changed src/Fl_File_Chooser.fl so the source code generate by fluid
from it is compatible with running in a static initializer.

3) Changed src/Fl_File_Chooser.cxx and FL/Fl_File_Chooser.H
to the result of running fluid on src/Fl_File_Chooser.fl 

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10972 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-18 18:56:58 +00:00
Manolo Gouy
5c7ef30341 Running FLTK in static initializers (cont'd):
To make sure that fl_graphics_driver is initialized, it is enough to test whether it is null.
This saves the memory cost of a static variable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10971 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-16 10:22:13 +00:00
Manolo Gouy
1b548ae1d5 Running FLTK in static initializers (cont'd):
the static method Fl_Surface_Device::surface() can be called before main() starts.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-16 07:18:34 +00:00
Manolo Gouy
ca491166b9 Better description of --enable-x11 by configure --help
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10969 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-15 17:43:50 +00:00
Manolo Gouy
fc89c11ddf Mention the --enable-x11 configure option is now allowed on the Mac OS platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-15 17:34:47 +00:00
Manolo Gouy
872d20ca61 Allow use of ./configure -enable-x11 on the Mac OS platform
to create an X11-using version of FLTK.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10967 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-15 16:53:52 +00:00
Albrecht Schlosser
14669685d8 Fix Fl_Browser if text argument to some methods is NULL (STR #3269).
Fl_Browser::add(), Fl_Browser::insert(), and Fl_Browser::text() didn't
test if the provided text argument was NULL, although this was explicitly
allowed in the documentation.

Also applied some minor documentation fixes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-15 10:16:56 +00:00
Manolo Gouy
dd8c33b19a Mac OS: it is clearer to initialize the fl_fonts global variable in font-related code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-15 08:31:20 +00:00
Manolo Gouy
291cf838bf Allowing to use FLTK objects in static initializers (cont'd).
Mac OS: a more convenient position where to initialize the fl_fonts global variable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10964 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 13:24:17 +00:00
Manolo Gouy
69644d4032 Allowing to use FLTK objects in static initializers (cont'd).
Case of Fl_Native_File_Chooser.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10963 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 10:26:09 +00:00
Manolo Gouy
09cd712c0d Allowing to use FLTK objects in static initializers (cont'd).
On the Mac platform, it is also necessary to change the initialization of 
the macKeyLookUp array for keyboard events to work in a static
initializer.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10962 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 09:51:07 +00:00
Manolo Gouy
cf14f77a90 Allowing to use FLTK objects in static initializers (cont'd).
For fl_file_chooser() and Fl_File_Chooser objects.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10961 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 09:36:14 +00:00
Manolo Gouy
6bdb661c2a Allowing to use FLTK objects in static initializers (cont'd).
On the Mac platform, it's also necessary to initialize the fl_fonts
global variable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10960 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 08:38:16 +00:00