- remove separate libfltk_cairo to avoid cyclic dependencies, but
- keep a dummy libfltk_cairo in 1.4.0 for backwards compatibility
- move cairo/Fl_Cairo.cxx to src/Fl_Cairo.cxx
- add preliminary Cairo support for Visual Studio (MSVC)
Static linking is not affected by this change, but users building
with hand-made Makefiles will have to remove libfltk_cairo starting
with FLTK 1.4.0. The dummy library can be linked for backwards
compatibility but it will be removed later (in 1.4.x or 1.5.0).
The shared FLTK library libfltk.{so|dylib|dll|..} depends on libcairo
if and only if FLTK is built with one of the Cairo options. This has
always been the case for OPTION_CAIROEXT but is now also true if only
OPTION_CAIRO is selected, i.e. FLTK programs linked with a Cairo
enabled shared FLTK library will also be linked with libcairo. The same
is true for configure options --enable-cairo and --enable-cairoext,
respectively.
Preliminary Cairo support for MSVC now detects a Cairo installation
using the CMake variable FLTK_CAIRO_DIR which must be set by the user.
Note that this feature is temporary and may be changed in the future
for a better and more comfortable version.
Since FLTK 1.4.0 inclusion of FL/Fl.H is no longer a requirement
unless class Fl is used (e.g. Fl::run()) or if it is used to include
other headers like FL/Enumerations.H
Add Doxygen-formatted description of the Wayland backend
Add bundled-libs.dox
Delete README.bundled-libs.txt
Move "Development" page to "Development of FLTK" chapter
Some Wayland specific files are generated by the build process with
configure + make in the source tree.
These files are now ignored by the Doxygen documentation process.
This file is now compatible up to Doxygen 1.9.5, i.e. there are
no warnings about obsolete parameters when generating the docs.
Current git 'master' of Doxygen (1.9.6: not yet released) issues
some warnings but these will hopefully be fixed in Doxygen.
Oldest tested Doxygen: 1.8.17 - older versions may emit warnings.
Ignore error if docs are not generated using a git working tree, for
instance from a downloaded tarball or zip file. This is only a
temporary solution for issue #499 (see "FIXME" comment).
Execute doxygen only if it is available. i.e. found by CMake.
Under non-macOS platforms, the key is to call glUseProgram(0); after having used OpenGL 3
which allows to then use OpenGL 1 and draw FLTK widgets over the OpenGL3 scene.
Under macOS, this is impossible because macOS GL3 contexts are not compatible
with GL1. The solution implemented here is to create an additional Fl_Gl_Window
placed above and sized as the GL3-based window, to give it a non opaque,
GL1-based context, and to put the FLTK widgets in that additional window.
Note: the syntax of command/switch `sed -i` is slightly different
on macOS vs. Linux and should not be used.
Move .gitignore parts referring to /documentation/ to their own file
'documentation/.gitignore' and add new generated file(s).
This removes the need to edit the copyright year before generating
the documentation (every year, in several files) and adds some
technical information (doxygen generation date, doxygen version,
and FLTK Git revision) in both HTML and PDF docs.
- auto-generate copyright year (current year) used in several places
- include FLTK Git revision in HTML and PDF docs
- include generation date and doxygen version
- replace special html footer which didn't work well with default footer
Support different margin sizes on all four edges. Default margin
and gap size is now 0 (compatible with Fl_Pack).
Doxygen: move the description from the constructor to the class
declaration which constitutes a "description".
Make some methods virtual and/or 'const'.
Clarify demo programs, make them even more "FLTK style".
- clarify and extend documentation of Fl_Preferences file locations
- add info about locale independent Fl_Preferences types (enum)
- add info about FLTK timer consolidation across platforms
Copying an image does not (and must not) change the original object,
hence copy() should always be 'const'.
This is *necessary* if the given Fl_Image object is 'const'.
* Fix build system for unites,
* Updated unittest to check OpenGL drawing.
Making sure that OpenGL drawing is exactly the same
as native drawing to make FLTK widget rendering
look the same in GL windows.
* Make OpenGL optional.
* Implemented clipping in OpenGL
* unites drawing fast shapes
* Fixed CMake
* Updating unittest.
Added tests for fl_pi and fl_arc (int)
Renamed tab to render complex shapes.
* Improved OpenGL FLTK drawing emulation.
* Fixed GTK ROUND DOWN BOX
* Fixing Makefile for unittest
* Correctly aligning OpenGL text.
* Fixed text alignment in GL windows.
Explained the "FLTK over GL " example in Cube.
* Overlapping test.
* Better GL graphics alignment.
* Drawing the focus rect.
* Adding Alpha Channel support for GL.
* Added FLTK-on-GL documentation.
Add coordinates and layout section to user manual
add section to user manual to clarify the use of window-relative
coordinates in both Fl_Group and Fl_Window containers, and include
brief descriptions of current layout manager widgets in one place.
add test/coordinates.cxx, test/wizard.cxx and related screenshots
under documentation/src.
update CMakeLists.txt, Makefile and .gitignore for new files.
Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
Adding only 2 of 3 new examples is intentional (9 per menu level).
Figure numbers have been removed in all the HTML docs recently for
better maintainability.
add example(s) showing Albrecht's innovative overlap resizable
technique to the "How does resizing work?" documentation and tests
See "resizable question" original discussion thread under:
https://www.fltk.org/newsgroups.php?gfltk.general+v:39635
lib/README.txt: clarify where built libraries are located
documentation/src/basics.dox: clarify (C++) compiler command usage
and improve documentation of the fltk-config script
Format code according to the CMP, add instructions on how to copy
the code to the fluid tutorial, and update the tutorial with the
current code of test/CubeView.h and test/CubeView.cxx.