Commit Graph

11953 Commits

Author SHA1 Message Date
Albrecht Schlosser
7d58f06a20 Remove 'configure' from README's and sources (partially)
More to come...
2025-03-08 15:19:48 +01:00
Matthias Melcher
ff62ed249e Fluid: one small fix. 2025-03-08 00:21:12 +01:00
Matthias Melcher
15ad447e2a Fluid: last incremental chage, restructuring 2025-03-08 00:14:27 +01:00
Matthias Melcher
ca22660bbb Fluid: last incremental change: restructuring 2025-03-08 00:14:27 +01:00
Albrecht Schlosser
187eaa0441 Update GitLab CI for FLTK 1.5.0
- remove autotools build (build-autotools)
- build documentation with `cmake`, not `make`

To do: build fluid docs
2025-03-07 23:31:14 +01:00
Matthias Melcher
1186b4e255 Making fl_filename_... public for std::string.
New functions append "_str" to the function name to
avoid ambiguities when calling them. So
'char *fl_filename_name(const char *)' becomes
'std::string fl_filename_name_str(const std::string &)'
2025-03-07 20:26:03 +01:00
Matthias Melcher
70e5dc23ae Cleaning up widget browser, renamed to Node_Browser. 2025-03-07 19:52:54 +01:00
Matthias Melcher
c3571838cb Fluid: Rebuilding most of the widget directory.
One file per logical unit.
Namespaces.
Non-static data member initializers to never
get an uninitialized field again.
2025-03-07 18:54:24 +01:00
ManoloFLTK
89f714cb4e Remove platform-specific code from file cp936ext.h 2025-03-07 17:43:03 +01:00
Matthias Melcher
d449a3d9bf Fixes for icon path and Windows includes. 2025-03-07 16:46:39 +01:00
Matthias Melcher
1985aefc0e Restructuring Fluid source files. 2025-03-07 16:34:48 +01:00
Albrecht Schlosser
42a04c064d Improve setting minimal compiler standard (C++11)
... so the user can override all settings.

This may need more tweaks in the future.
2025-03-07 15:17:56 +01:00
Matthias Melcher
daf20b86af Fixing error where std::string could be assigned NULL' 2025-03-07 15:08:06 +01:00
ManoloFLTK
7f60f019d7 Fix "fltk autotools build does not link against libXft" (#1202)
libXft was erroneously present in the link command when using Pango and Cairo.
This is fixed by disconnecting the GUI scaling code from use of Xft.

This commit also makes sure that when Wayland is used, pkg-config is available
on the build machine. This allows to remove from file CMake/options.cmake
code that was labelled with "FIXME".
2025-03-07 11:06:24 +01:00
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
063ff67fcd Fixing a couple of warnings. 2025-03-07 00:59:25 +01:00
Matthias Melcher
e8060f2a61 One more FL_String::apend fix, 2025-03-07 00:51:20 +01:00
Matthias Melcher
9cfd932d3a Replce Fl_String in Fluid with std::string.
Also fix for Linux.
2025-03-07 00:48:18 +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
27101536f6 Define FL_OVERRIDE unconditionally as 'override'
FLTK 1.5 requires at least C++11, hence we can always use 'override'.

To do: the FL_OVERRIDE macro can be replaced by 'override' everywhere
in the FLTK code. There are more than 2400 occurrences and this
would be a large commit. Therefore it's not done right now...

Note: user code may continue to use FL_OVERRIDE.
2025-03-06 19:23:25 +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
13b88d4335 CMake/CI: Switch CXX standard to C++11 for all builds
Note: current minimum for future 1.5.0 is C++11, this may be raised
  after further discussion.
2025-03-06 18:20:05 +01:00
Albrecht Schlosser
4032c7a713 Add new CHANGES.txt for FLTK 1.5 2025-03-06 18:16:38 +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
ManoloFLTK
880636eb12 Fix "Windows: dotted lines may be drawn solid when GUI is rescaled" (#1214) 2025-03-04 16:04:10 +01:00
ManoloFLTK
257435dca0 Remove deprecated, commented-out code.
This code was used in the past to support a deprecated way to obtain the initial
value of the GUI scaling factor for the X11 platform.
2025-02-24 12:12:07 +01:00
Albrecht Schlosser
a206a778b4 Update CHANGES.txt and ANNOUNCEMENT for release 1.4.2 2025-02-23 12:34:18 +01:00
ManoloFLTK
5b617a6cc1 Fix "Fl_RGB_Image::draw() seg faults when offset is too big" - cont'd (#1211) 2025-02-22 09:02:01 +01:00
ManoloFLTK
e27edad5f1 Fix "Fl_RGB_Image::draw() seg faults when offset is too big" (#1211) 2025-02-22 08:33:20 +01:00
ManoloFLTK
7ce2632bfc Fix "Wayland: resizing window may crash the program" (#1210) 2025-02-21 21:16:02 +01:00
Albrecht Schlosser
e932b94436 Update dependencies 2025-02-21 20:12:57 +01:00
Albrecht Schlosser
02af6a57eb Bump version numbers to 1.4.2 2025-02-21 16:25:39 +01:00
Albrecht Schlosser
97f2cdcc29 Fix copyright, a typo, and remaining casts (#1207)
make remaining casts consistent with other casts of the same
variables
2025-02-21 13:37:22 +01:00
ManoloFLTK
d5612afd61 Fix "Fl_JPEG_Image infinite longjmp loop on Mac release builds" (#1207) 2025-02-20 23:16:17 +01:00
Albrecht Schlosser
030c3fa5bc Update "GitHub Actions" Linux runner to 'ubuntu-latest'
Note: ubuntu-20.04 will be phased out soon
2025-02-19 18:34:12 +01:00
Albrecht Schlosser
eaf5fb8d11 Fix buffer overflow warning [-Wstringop-truncation]
Note: this fixes the warning, but a better fix would be to use either
  strlcpy(), fl_strlcpy(), or a string type in 1.5.0 or higher.
2025-02-19 17:22:16 +01:00
Albrecht Schlosser
45476d093c test/editor: ensure buffer termination
... in source file and documentation
2025-02-19 17:14:25 +01:00
ManoloFLTK
27d991f046 Update bundled libdecor to last upstream version (21 jan 2025) 2025-02-14 17:12:39 +01:00
ManoloFLTK
4c64264e0c Fix "fltk-config reports dep on gtk3 when it does not exist" (#1201) 2025-02-14 16:14:39 +01:00
ManoloFLTK
81a5736006 Make Fl_Cocoa_Gl_Window_Driver::capture_gl_rectangle() return a depth-4 image
This change allows to capture the rounded corners of a top-level GL window.

Also, rename Fl_Cocoa_Window_Driver::capture_decorated_window_10_5()
from capture_decorated_window_10_6() because this function uses
CGWindowListCreateImageFromArray() available from macOS 10.5.
2025-02-08 17:19:07 +01:00
ManoloFLTK
9afb35f3a6 fix macOS Sonoma/Sequoia not capturing OpenGL text on macOS - cont'd (#1197 2025-02-06 14:39:54 +01:00
ManoloFLTK
d60141bb71 fix "macOS Sonoma/Sequoia not capturing OpenGL 1 text on macOS" (#1197) 2025-02-06 12:25:39 +01:00
ManoloFLTK
c92bf829b4 macOS: restore building with SDK versions between 10.7 and 10.11 2025-02-05 18:53:55 +01:00
Albrecht Schlosser
904039c4c6 Fix typos and trailing whitespace
Also replace 'MSWindows' with 'Windows' where appropriate, leaving
only old documents like README files from 1.3 and older as-is.
2025-02-05 12:34:39 +01:00
ManoloFLTK
89d146ecee macOS: fix when fullscreen window looses and regains focus with SDK 10.6 (#1192) 2025-02-04 17:30:35 +01:00
ManoloFLTK
02f431bd88 macOS: Restore fullscreen window mode when using SDK < 10.7 (#1192) 2025-02-03 15:25:05 +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
94f471b701 macOS: fix transition from single-screen fullscreen to "All Screens" fullscreen 2025-02-03 12:08:20 +01:00
ManoloFLTK
bc764dabc1 Avoid code repetitions among Fl_{X11_}Window_Driver::{un_}maximize() functions 2025-02-03 09:34:19 +01:00