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.
basics.dox: Some minor edits, clarifications and reordering for
better readability.
drawing.dox: minor edits, remove "Figure x.y:" etc. (to be continued)
enumerations.dox: change chapter title
The LaTeX header file used when creating PDF documentation depends on
the doxygen and latex versions, respectively.
The old header file 'documentation/src/fltk-book.tex.in' had been
generated manually and needed to be updated for new doxygen versions
which made the PDF documentation generation dependent on the
doxygen/latex versions on the build system.
The new LaTeX header file 'fltk-book.tex' is generated by doxygen,
i.e. taking into account the doxygen and latex versions on the build
system and "edited" to include the page title defined in the new
file 'documentation/src/fltk-title.tex.in'.
This makes the PDF documentation independent of the doxygen and
latex versions of the build system.
Paper type "a4wide" is no longer accepted (by doxygen or latex)
for PDF generation, the other settings have been obsoleted by
doxygen 1.8.16.
Commented out for now to keep backwards compatibility with doxygen
versions 1.8.15 and earlier.
Make maximum box corner radius and shadow width configurable.
See Fl::box_border_radius_max() and Fl::box_shadow_width().
Documentation: update image of box types.
Fixes#130
- raise minimum CMake version from 2.6.3 to 3.2.3 (Jun 01, 2015)
- indent all CMake files according to the CMP (2 col.)
- refactor FLTK version number definitions and usage
- unify CMake and autoconf/configure variable names:
- FL_VERSION -> FLTK_VERSION
- FL_MAJOR_VERSION -> FLTK_VERSION_MAJOR
- etc. for _MINOR_ and _PATCH_, respectively
- note: this does not affect FL_VERSION etc. in source code
- generate "export headers" for all libraries (experimental: OFF)
- port some forgotten goodies from branch-1.3 to master
- merge and improve macro 'create_example' (WIP)
- remove "temporary" options and code for older CMake versions
- include and use 'GenerateExportHeader' (experimental, WIP: OFF)
- note: created header files are not yet used
- build only *one* DLL with Visual Studio (tested, works)
- similar to the bundled IDE projects in 1.3.x
- add some dynamically linked test/demo programs ('*-shared')
if shared libraries are built (WIP)
- split 'macros.cmake': use one file per macro
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files
The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
The FLTK 1.0 compatibility support by defining macro 'FLTK_1_0_COMPAT'
did no longer work since FLTK 1.3.x and nobody complained. Hence we
can safely remove this "feature".
Documentation changes:
- Drop chapter 'Migrating Code from FLTK 1.0 to 1.1'
- Drop chapter 'Migrating Code from FLTK 1.1 to 1.3'
- Add chapter 'Migrating Code from FLTK 1.3 to 1.4'
The removed chapters are still available in FLTK 1.3 docs.
Particularly to Doxygen docs and NEdit which appears to have moved
to sourceforge (according to Wikipedia), see
https://en.wikipedia.org/wiki/NEdit
Note: nedit.org exists but shows some non-English text.
Generating driver documentation can now be configured with CMake. The new
configuration OPTION_INCLUDE_DRIVER_DOCUMENTATION is "marked as advanced"
since only advanced users and/or FLTK developers need this.
Previously this could only be achieved by editing documentation/Doxyfile.in.
Added missing documentation option descriptions as well.
Files without '.txt' suffix can't be handled well by Windows (users),
hence renaming such text files to *.txt makes FLTK more "Windows-friendly".
There are a few exceptions (this is intentional): README and other files
in bundled libraries (maintained upstream) are not changed.
Note: PDF generation "worked" with the previous configuration up to
doxygen 1.8.6 on my "old" Ubuntu 14.04 system but did no longer work
with doxygen 1.8.7 - 1.8.13 (the latter on Ubuntu 18.04).
Tests showed that 1.8.14 is seriously broken and git:master (aka 1.8.15,
but not yet released as of today) is not usable as well. Hopefully there
will be some doxygen fixes in the future.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13010 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This allows to keep class Fl_Screen_Driver away from the public API.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12926 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win).
The purpose is to have class Fl_Window_Driver outside from FLTK ABI.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
as it's not clear in the text how the code order is reversed on-screen.
Also, the whole 'three musketeers' thing with the case values not matching
the numeric button names has always been confusing:
case 0: .. // One
case 1: .. // Two (default)
case 2: .. // Three
Changed that so it's a Zero/One/Two example instead.
case 0: .. // "Zero"
case 1: .. // "One" (default)
case 2: .. // "Two"
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12853 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Add missing documentation of demo programs in the 'test' directory.
Some images were added as well.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12831 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
These were introduced at r12647, that is, during development of the 1.4 API.
These functions provided windowless support only on the MacOS platform,
where this can be obtained without those functions.
Windowless support on other platforms would require changing the event
loop. There's no evidence from STR's there's a demand for windowless mode
on other platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12680 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Most other platform-dependent types of FL/platform_types.h are also documented.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12663 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32".
Replace "WIN32" in text and documentation with "Windows".
Replace "MSWindows" with "Windows".
To do: README.Windows.txt (and maybe other documentation as well)
needs updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This first step replaces FL/x.H with FL/platform.H but keeps a small
FL/x.H that #include's FL/platform.H for backwards compatibility.
Documentation sources in documentation/src/*.dox have been fixed,
but references in other source files need to be fixed in another step.
Dependencies have been adjusted.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12640 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Thanks to Jakub Tata-Tyczyński for finding this and reporting it in
fltk.coredev.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12638 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The correct fix in the previous commit (svn r12636) would have been to
replace CMAKE_SOURCE_DIR with FLTK_SOURCE_DIR since CMAKE_SOURCE_DIR is
no longer used in doxygen docs generation. Sorry for the noise.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12637 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Basically replace CMAKE_XXX_DIR with CMAKE_CURRENT_XXX_DIR where
XXX = SOURCE or BINARY.
Patch proposal by cleanrock, FLTK PR #4:
https://github.com/fltk/test-only/pull/4
Patch modified to fix target dirs for test programs and doxygen docs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit fixes two issues:
Doxygen build with CMake needs paths relative to CMake source dir.
Missing excluded files taken from STR #3320, file #42 (by Manolo):
http://www.fltk.org/strfiles/3320/scaling_rect_r12544.patch
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12545 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also reformatted very long lines, removed trailing spaces.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12204 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This change avoids a name conflict with CMake's auto-generated target 'help'
for "Unix Makefiles", "Ninja", and supposedly other generators as well.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
(Enumerations.H had already been updated, but the enumerations.dox had not)
Added references to the virtual colorcube.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Three documented pre-processor variables can now be defined on the
compiler command line to avoid editing the FLTK src code. The default
values still apply unchanged.
Port of branch-1.3, svn r11404.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11406 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Methods Fl::event_x_pixel() and Fl::event_y_pixel() committed at r.10941
are removed. Instead method Fl_Gl_Window::pixels_per_unit() is added.
The documentation explains in more detail how to write cross-platform
FLTK code supporting high resolution OpenGL windows on retina displays.
The examples/OpenGL3test.cxx app exercises Fl_Gl_Window::pixels_per_unit().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10945 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
On the X11/MSWindows platforms, this requires external installation of the GLEW library.
This fixes STR#3198 and STR#3257.
Added two new examples programs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10876 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Now we have less files to edit, and Doxyfile.in is shared with the
CMake generation of Doxyfile and Doxybook.
Besides that two files with FLTK version numbers are now removed (less
work for future version updates).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10762 ea41ed52-d2ee-0310-a9c1-e6b18d33e121