Commit Graph

1345 Commits

Author SHA1 Message Date
Matthias Melcher
6acda521cc Removes the remaining references to Fl_String.
Still to do: rename fl_filename... to fl_filename..._str
and introduce into core library.
2025-03-07 01:15:57 +01:00
Matthias Melcher
3068c7a0af Fl_String is now just an alias for std::string.
All mentions of Fl_String will be replaced with std::string
and the Fl_String implementation will be removed.
2025-03-07 00:12:40 +01:00
Albrecht Schlosser
dc07f927f1 Fl_Group: convert array of children to std::vector
Note: this is only a hidden implementation detail: all concerned
variables are private, and the code is simplified (less error prone).

Size of Fl_Group on 64-bit Linux: 168 -> 176 Bytes (+8 Bytes).

test/group.cxx: test for Fl_Group::{add, insert, remove} etc.
2025-03-06 18:31:31 +01:00
Albrecht Schlosser
191b33e0de Update version numbers to 1.5.0 2025-03-06 18:16:03 +01:00
Albrecht Schlosser
e2ca1a39c8 Remove autotools (configure/make) support 2025-03-06 17:12:52 +01:00
Albrecht Schlosser
45476d093c test/editor: ensure buffer termination
... in source file and documentation
2025-02-19 17:14:25 +01:00
ManoloFLTK
af5b2cf464 fullscreen test app: prevent combination of fullscreen + maximize
Also, use more explicit button names
2025-02-03 12:22:07 +01:00
ManoloFLTK
2a58560b7d tedst/utf8: Change default font used under Windows for "Unicode Display Test"
The Windows doc at https://learn.microsoft.com/en-us/typography/font-list/arial-unicode-ms
 of the "Arial Unicode MS" font reads
"The font was included with Office but not Windows. …
We stopped servicing and updating Arial Unicode and no longer install it as part of Office."
Using that font is therefore not the best choice.
This commmit uses "Microsoft Sans Serif" instead available in all Windows versions
since Windows 2000.
2025-01-19 18:39:38 +01:00
Albrecht Schlosser
6784ae807c Fix compiler warnings (VS 2019)
Found with warning level: /W3
2024-12-10 23:12:22 +01:00
Albrecht Schlosser
fe8177ea2c Update Fluid (.fl) files for release 1.4.1 2024-12-09 20:46:01 +01:00
Matthias Melcher
e24de6f89c glpuzzle: smoother animation at 72fps 2024-12-06 13:25:13 +01:00
Matthias Melcher
c61e3f63f6 glpuzzle: fixes timer and trackball max speed
Using 50fps instead of maximum render speed.
Trackball limited to non-head-spinning speeds.
2024-12-06 13:21:28 +01:00
Albrecht Schlosser
ff161187e7 Improve timer statistics in test/cube demo
These timer statistics are useful to see the interaction of OpenGL
drawing and FLTK timers (Fl::add_timer + Fl::repeat_timer).
2024-12-04 16:42:53 +01:00
Matthias Melcher
fe8a94d236 Fixes warning in cube.cxx. 2024-12-04 16:13:07 +01:00
ManoloFLTK
167dba8817 Fi: Building with FLTK_BUILD_GL=0 fails on systems without opengl installed (#1151) 2024-12-03 17:12:49 +01:00
Albrecht Schlosser
5160567728 Use a constant frame rate (25 fps) in test/cube demo
The old version was "synchronized" by calling Fl::check() in a loop
which resulted in the highest speed possible on any platform.

It turned out that this was way too fast on the Wayland platform as
`valerius` posted on IRC/Matrix on Nov 30, 2024. Citation:
"anyone else notice the cube demo on Wayland is mega ultra hyper speed?".

I took the opportunity to change the demo to use a timer with a given
frame rate (see constant 'FPS') to synchronize drawing.
Note: the 'speed' slider is independent of the drawing frequency.

Finally this commit adds statistics output when the 'Stats / Exit' button
is pressed like

  Iterations =  304, runtime = 12.167 sec, fps = 24.99, requested: 25

with the requested frame rate (default = 25) and allows the user to
continue to see more statistics.

To do (very likely not in 1.4.x):
 1. integrate running statistics in the display
 2. make the desired frame rate variable at runtime (new slider)
2024-12-01 16:43:31 +01:00
Albrecht Schlosser
12ea6a0288 Enable building the CubeView demo w/o requiring '<config.h>'
This allows to build the CubeView demo from the unmodified FLTK sources
w/o having to provide a 'config.h' file by defining HAVE_GL=1 on the
compiler commandline. See also comment in test/CubeView.h.

test/CubeMain.cxx: don't include <config.h> at all (not needed)

test/CubeView.h: #include <config.h> only if HAVE_GL is not defined
2024-11-29 16:19:22 +01:00
Albrecht Schlosser
d547e19567 MSVC: Fix array allocation in test/fltk-versions (#1131) 2024-11-18 02:08:56 +01:00
Albrecht Schlosser
6c6f6b7dd9 Finish release 1.4.0
1) Improve and clarify documentation:
 - update, reformat, and reorder parts of CREDITS.txt
 - make sure that documentation appears in doxygen docs
 - add '\since 1.4.0' to documentation of new methods and functions
 - remove doxygen's '\brief' where not required (we're using
   JAVADOC_AUTOBRIEF = YES)
 - clarify screen scaling, scaling factor, and related stuff
- add more info about backwards compatibility for X11 specific code

2) Update dependencies
2024-11-17 20:01:46 +01:00
Albrecht Schlosser
7b9af35847 Improve 'test/fltk-versions' demo program
- add code to get the platform and backend
- display platform and backend on screen
- improve and simplify layout (using Fl_Grid)
- add version check indicator
2024-11-17 18:12:45 +01:00
Albrecht Schlosser
9d708a1b5a Fix compiler warning [-Wsign-compare]
Note: it is *unusual* (not FLTK style) that Fl_Window::border()
  returns 'unsigned int' instead of 'int'.

This should be investigated in FLTK 1.5 but maybe we can't change it:
  it's been so already in FLTK 1.3 and maybe earlier.
2024-11-01 16:35:03 +01:00
ManoloFLTK
818e2b77d1 Wayland: Fix issue in maximization of a borderless window (#1099)
Also fixes scenarios mixing fullscreen and maximization:
- maximize
- set fullscreen
- unset fullscreen
- un-maximize
with and without window border.
2024-11-01 15:43:18 +01:00
ManoloFLTK
0ac1379985 macOS: prevent changing window border while window is fullscreen 2024-10-31 15:15:33 +01:00
Albrecht Schlosser
975cd3b4fd Remove unnecessary casts from glut demo programs
These casts are no longer useful since commit 5cd9f6fb80:
"STR #3323: glutAddMenuEntry now has a const label argument"
2024-10-18 17:01:34 +02:00
Albrecht Schlosser
a6a0a65edf Update or remove version numbers, update copyright years
Note: one goal is to have to edit fewer version numbers in source
files for each release.

We may be able to generate some files by the build procedure (CMake)
to avoid editing them in the future (1.5.0 or later).
2024-10-15 20:42:26 +02:00
Albrecht Schlosser
16d59008c2 Add option to test scaling shortcuts in test/menubar
Note: if enabled, then the usual global scaling shortcuts don't work
  and scaling by shortcuts is disabled.

This is intended for testing and not for normal usage.
2024-10-07 14:27:01 +02:00
Matthias Melcher
18bda5315d Update Widget order in test/keyboard. 2024-10-07 11:59:49 +02:00
Matthias Melcher
6e3b64425e Add fwd and back mouse buttons to test/keyboard 2024-10-06 18:53:03 +02:00
Matthias Melcher
0594d9a1a0 Update FLUID .fl files in the test/. 2024-10-06 17:53:57 +02:00
Matthias Melcher
ec05f78d98 Adding horiizonatl and vertical label margin
- sizeof(Fl_Widget) not increased
- label positions can be adjusted
- try it out in test/label app
- full support in FLUD
2024-08-27 15:13:32 +02:00
Albrecht Schlosser
d6ddc62b33 Fix CTRL/META state display in test/handle_keys.cxx (macOS)
This changes only the display of the mentioned state bits in the test
program, and only on macOS.

Thanks to Manolo for finding and reporting this.
2024-08-23 17:13:15 +02:00
Matthias Melcher
f151ecb87b Changing test/editor Shortcut Key Ctrl-i.
The original choice for split screen editing, Ctrl-2, did not
work well on some platforms.
2024-08-19 12:27:18 +02:00
Matthias Melcher
cfc54a3b19 Adding Fl_Widget::label_image_spacing() (#1039)
- May need a better method name.
- This makes the gap between the image in a label and
the label text user settable.
- Can be tested using test/label app
2024-08-14 01:52:37 +02:00
Albrecht Schlosser
666bbda70e Fix tabs, trailing spaces, and update dependencies 2024-08-10 20:32:19 +02:00
Albrecht Schlosser
85e08b981e
Merge pull request #17 from mid-kid/patch-1
Quote variables that may contain spaces (#17)
2024-08-10 16:51:36 +02:00
mid-kid
b83a6abe01 Configure/make: Quote variables that may contain spaces
This allows installing FLTK to directories that contain spaces.
2024-08-10 16:28:37 +02:00
Matthias Melcher
02a208b928 Fixed warning in Sudoku (unused variable) 2024-08-10 14:49:51 +02:00
Albrecht Schlosser
b7fc02e523 Simplify test/handle_keys.cxx and remove comments 2024-08-08 17:50:31 +02:00
Matthias Melcher
44a8508ffe Add Sudoku undo and redo. 2024-08-04 23:42:03 +02:00
Matthias Melcher
fad1a67734 Sudoku formatting, hint updates. 2024-08-04 17:28:35 +02:00
Matthias Melcher
cee2af13b3 Fix Sudoku's use of Fl_Sys_Menu->parent(). 2024-08-04 16:46:04 +02:00
Matthias Melcher
abb2971654 Fix Fl_Tabs callback in Overflow mode (#1031). 2024-08-02 21:15:18 +02:00
Albrecht Schlosser
53469038ce Enable setting a fixed font for 'wine' in test/handle_keys.cxx
... w/o editing a file. The default font is "Liberation Mono".

Just set environment variable FLTK_USING_WINE=1 to enable this feature.

Rationale: on /my/ current test system the font chosen by `wine` for
FL_COURIER is a proportional font whereas the display in Fl_Terminal
requires a fixed font for correct output. Font "Liberation Mono"
solves this long standing issue for me w/o having to change source code
but other Linux systems may require a different font.
2024-07-31 17:04:34 +02:00
Albrecht Schlosser
a7d00ae558 Resize line sizes and widths dynamically in test/line_style_docs
Resize the window to see the effect: line sizes increase with the box
size and become wider depending on the box size. Minimal line width
of the "wide" lines has been changed from 4 to 5, maximal width is
now 9. Distinct widths are { 5, 7, 8, 9 }.

Note: the default (thin) line width is now 1 rather than 0 since the
  default 0 may render badly.

Screenshot in documentation has been updated.
2024-07-23 17:18:40 +02:00
Albrecht Schlosser
7f24a0d6d8 Update docs and screenshot for fl_line_style() (#1016)
As a follow-up to the discussion I used the posted screenshot demo
(thanks to Greg), redesigned it using Fl_Grid, and added it as a
new test program, including Makefiles and CMakeLists.txt.

New file: test/line_style_docs.cxx to create screenshot. Note that the
old test/line_style.cxx is not obsolete, it can be used to test the
line styles interactively.

Docs have been updated in both chapter "Drawing Things" and the
function description.

Also added the new demo to test/demo.menu under "Images for Manual...".
2024-07-21 22:34:02 +02:00
Greg Ercolano
6776f89872 Fix horiz connection lines (#1008) 2024-07-08 12:13:44 -07:00
Albrecht Schlosser
d411d39092 Improve test/handle_keys.cxx
- colorize output
- improve formatting
- log status of Fl::OPTION_SIMPLE_ZOOM_SHORTCUT
2024-07-01 00:30:35 +02:00
Greg Ercolano
54f44d5ac9 Fix compiler warnings 2024-06-30 09:25:31 -07:00
Albrecht Schlosser
64cd50c130 Update test/input_choice demo (#978)
- add Fl_Choice widget for layout comparison
- rewrite button callbacks
- improve layout and other details

This is a follow-up to issue #978, "merging" the existing input_choice
demo with "choicetest_v3" as mentioned.
2024-06-27 03:19:26 +02:00
Greg Ercolano
5c7ba51be3 Fix Fl_Input_Choice vs Fl_Choice drawing issues (#978)
Differences in size of arrows and overall look varies
with different schemes applied for issue raised by Philip Rose
first on fltk.general:

Subject: Discrepancy between Fl_Choice and Fl_Input_Choice
2024-06-26 15:40:41 -07:00