Commit Graph

927 Commits

Author SHA1 Message Date
Matthias Melcher bf825f8ebd
Add a unit test for drawing complex shapes (#565) 2022-11-30 22:40:52 +01:00
ManoloFLTK acf7254fe8 macOS+OpenGL3: remove "warning: gl.h and gl3.h are both included" 2022-11-27 08:06:33 +01:00
Matthias Melcher b16309f13e
Refactor code to make rounded rectangles accessible (#553)
This adds fl_rounded_rect and fl_rounded_rectf so the
user can draw rounded rectangles. This uses existing and
optimised code that is rearranged.
2022-11-24 12:47:49 +01:00
Matthias Melcher 2dae18da09
Fluid: Add Undo to formula input fields. (#547) 2022-11-17 00:43:16 +01:00
Albrecht Schlosser e72324d3d9 Update Doxyfile.in for current Doxygen version 1.9.5
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.
2022-10-12 16:19:36 +02:00
ManoloFLTK e9719e5416 Update window icon-related doc in platform-specific section. 2022-10-06 15:07:39 +02:00
Albrecht Schlosser 5646522985 CMake: Fix some special cases regarding generation of docs
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.
2022-10-03 10:49:43 +02:00
ManoloFLTK 694eaef99c Doc: more details about installation of GLEW. 2022-09-29 12:04:17 +02:00
ManoloFLTK 59fc60ea4c Simpler code to support FLTK widgets in macOS OpenGL 3 windows.
Also, the application-level code to add widgets to a GL3 window becomes
platform-independent.
2022-09-27 14:12:39 +02:00
ManoloFLTK 89f9671b40 Add cross-platform support for adding widgets to an OpenGL3-based Fl_Gl_Window.
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.
2022-09-25 16:39:40 +02:00
Greg Ercolano 0fd10e9fde Updated fltk logo for docs and help_dialog using logo from the website. 2022-09-23 12:46:35 -07:00
Albrecht Schlosser 6472f9b041 Fix build process of PDF docs on macOS and update .gitignore
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).
2022-09-23 15:45:45 +02:00
ManoloFLTK debbba19ec Improve docs of Fl_Copy_Surface and use of OpenGL 3. 2022-09-21 15:15:55 +02:00
ManoloFLTK 09334c51c7 Improve use of CMake's OPTION_BUILD_HTML_DOCUMENTATION 2022-09-17 09:56:45 +02:00
ManoloFLTK c720aae515 Make hybrid Wayland/X11 platform. 2022-08-29 12:15:32 +02:00
Albrecht Schlosser ab61c03433 Improve automatic documentation generation
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
2022-08-12 17:49:53 +02:00
Albrecht Schlosser 713d276b1c Fl_Flex: support different margin sizes, improve docs
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".
2022-08-07 16:00:41 +02:00
Albrecht Schlosser 128aa08be8 Improve docs about FLTK coordinate systems
Enlarge the screenshot of test/coordinates for better readability in
html and pdf docs.
2022-08-03 16:39:44 +02:00
ManoloFLTK d096ec48d0 Documentation: add missing mentions of the Wayland platform. 2022-07-05 10:13:31 +02:00
ManoloFLTK 0fdef887d0 Documentation: add Wayland-related information for use of OpenGL 3. 2022-07-04 14:44:23 +02:00
ManoloFLTK 844d3d6d5c Wayland platform.: complete support of gl_start/gl_finish. 2022-07-04 11:44:03 +02:00
ManoloFLTK 4d85b15417 Documentation: update "Using OpenGL in Normal FLTK Windows" for Wayland. 2022-06-30 17:01:23 +02:00
ManoloFLTK 20c50312fc Cleaner declaration of public function fl_wl_cairo(). 2022-05-09 09:41:50 +02:00
ManoloFLTK 158d39df37 Correct typos in doc. 2022-05-03 08:51:40 +02:00
ManoloFLTK c1d0783df9 Document how to set window icons under Wayland - cont'd. 2022-04-15 11:05:19 +02:00
ManoloFLTK 5234e1ab38 Document how to set window icons under Wayland. 2022-04-15 10:48:37 +02:00
Albrecht Schlosser a7267f91ae Fix yet another documentation typo 2022-04-15 02:48:16 +02:00
Albrecht Schlosser 1e99a00c65 Update "migration" documentation with new information
- 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
2022-04-13 23:08:20 +02:00
Albrecht Schlosser 10537b7143 Make Fl_Image::copy() 'const', including all derived classes
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'.
2022-04-13 16:50:30 +02:00
ManoloFLTK 2d71a95b5d Wayland: replace global fl_display by function struct wl_display *fl_wl_display(). 2022-03-23 11:37:25 +01:00
ManoloFLTK d5c47132ef Documentation: Wayland is for LINUX not for UNIX. 2022-03-10 15:30:11 +01:00
ManoloFLTK 9d869d73c1 Begin documenting the Wayland platform, new in FLTK version 1.4 2022-03-10 15:05:26 +01:00
Albrecht Schlosser e092b562ba Documentation: remove duplicate color name 2022-02-24 19:41:07 +01:00
Albrecht Schlosser ec974ce6b8 Update copyright year of documentation 2022-02-16 14:51:00 +01:00
Matthias Melcher db0a1f4bae
OpenGL implementation of all `fl_` "Drawing Fast Shapes" graphics calls (#385)
* 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.
2022-02-06 15:22:24 +01:00
ManoloFLTK 86a9aa6099 Comment out deprecated Doxygen tag COLS_IN_ALPHA_INDEX. 2022-01-17 15:24:07 +01:00
Greg Ercolano c45bf57c8f Fixes #369 2022-01-13 18:06:40 -08:00
Greg Ercolano 9c55ad4273 Fixes #362 2022-01-13 15:26:27 -08:00
Matthias Melcher 29531873ea STR 3289: Fluid i18n, gettext, catguts improvements
Removed some unneeded code.
2021-12-19 02:03:05 +01:00
ManoloFLTK 638ad499d0 Documentation: discuss HighDPI support under Windows and app manifests. 2021-12-12 15:48:08 +01:00
Matthias Melcher 6d7faa93e1 Fluid: added keyboard shortcuts documentation. 2021-12-10 15:16:42 +01:00
engelsman 2d18c6f650
Documentation on widget coordinates and layout, plus new test programs (#304)
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>
2021-12-08 15:00:33 +01:00
Albrecht Schlosser 16c9641797 Improve documentation index and chapter "Migrating Code ..."
- remove redundant "Revision 11" from documentation index page.
- update index (missing refs and one wrong ref)
- update page break
- document header requirements and potential FLTK 1.3 code issues
2021-12-07 00:42:05 +01:00
Albrecht Schlosser b2979b6425 Reformat to FLTK style, improve documentation
No code changes.

Replace '#define fl_clip ..' with an inline method.
2021-11-16 00:02:16 +01:00
Albrecht Schlosser 75240c9a32 Add new resize examples to demo menu, remove figure numbers
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.
2021-11-08 16:19:48 +01:00
Duncan Gibson 7407d9c8d0 Add new resize example to test and dox (PR #165)
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
2021-11-08 16:18:58 +01:00
Albrecht Schlosser 10da46a5a6 Improve documentation about library build folders and more
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
2021-10-04 14:42:32 +02:00
Albrecht Schlosser c3857517b0 Improve documentation chapter "Basics"
Add '-ldl' to example command line and other minor changes
2021-09-21 20:29:02 +02:00
Albrecht Schlosser 54213b95fe Doxygen docs: convert doxygen input file to current version
CMake only: "current" version means the doxygen version available
on the system where docs are generated.

Todo: do the same for autoconf/make builds.
2021-09-21 20:28:02 +02:00
Albrecht Schlosser da4d16b59a Update fluid tutorial on CubeView and demo code
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.
2021-05-21 20:08:12 +02:00