Commit Graph

11548 Commits

Author SHA1 Message Date
Albrecht Schlosser
7a879568b3 Improve support for NetBSD (#944)
- fix gcc version check for FL_DEPRECATED macro

- fix #include for select() on NetBSD < 3.0 (#944)

For more info please see GitHub Issue #944
2024-04-02 16:03:00 +02:00
Albrecht Schlosser
16cd29fd6d Remove dead code/comment: HP-UX 9.x not supported
README.Unix.txt documents that HP-UX 11.11 is required
2024-04-02 15:12:45 +02:00
ManoloFLTK
1bc5680472 Fix error in Fl_PostScript_File_Device::begin_page() under Pango
This fixes the bug reported in fltk.general "Fl_Printer bug?"
2024-03-30 17:21:11 +01:00
ManoloFLTK
b4b98c5d57 macOS: Avoid possible crash in makeMainWindow when another win is modal 2024-03-28 18:20:38 +01:00
Albrecht Schlosser
5666ec0ff0 Fix "Support for AIX" - part 2 (#942)
Add missing file counter increment, thanks to @michaelbauerle.
2024-03-25 17:07:42 +01:00
ManoloFLTK
4742d830be CMake for macOS platform: improve handling of -framework link arguments 2024-03-24 08:48:45 +01:00
ManoloFLTK
1434bc2bd0 Replace lround() calls by round() calls in class Fl_Anim_GIF_Image (#942) 2024-03-24 08:12:11 +01:00
ManoloFLTK
f01dec8eb3 Remove duplicated #include <config.h> directive 2024-03-24 07:53:03 +01:00
ManoloFLTK
97d2836f5e macOS: remove deprecated use of property allowedFileTypes in class NSSavePanel
The recommended replacement requires macos ≥ 11.0 and a new framework: UniformTypeIdentifiers
2024-03-23 17:16:57 +01:00
ManoloFLTK
f3640a7312 Add necessary #include <config.h> directives 2024-03-23 17:00:03 +01:00
Albrecht Schlosser
1c910720bf Fix "Support for AIX" (#942)
Slightly modified patch from @michaelbaeuerle (issue #942).
2024-03-22 20:38:03 +01:00
ManoloFLTK
34a881482a Add comments giving cairo version required for each cairo call if > 1.0 2024-03-22 16:11:38 +01:00
ManoloFLTK
86f4a6fc8e Remove "-no-pie" link option also from configure-based builds 2024-03-21 16:18:00 +01:00
Albrecht Schlosser
b53b2b6e11 CMake: Remove "-no-pie" build option
libdecor/build/Makefile: unused anyway (previously used building demos)

src/CMakeLists.txt: broke some user builds, see fltk.general, thread
  "-no-pie in FLTK Libraries build." (Mar 17, 2024).

Todo: check usage of "-fPIC" (libdecor builds)
2024-03-21 14:27:29 +01:00
ManoloFLTK
b0b20cdecc Remove unused macro definitions 2024-03-20 23:26:48 +01:00
Albrecht Schlosser
b3b051240e Add missing include file (#939) 2024-03-20 17:41:08 +01:00
Albrecht Schlosser
2001132f4a Add configure option to build tests only on request (#940)
Option: ./configure --disable-test   build test programs (default=yes)

Thanks for the patch(es) to @michaelbaeuerle.

I added `make test` to be able to build the test programs from the
FLTK root directory if FLTK was configured with --disable-test.
2024-03-20 17:24:12 +01:00
ManoloFLTK
46406d1d21 Add compile-time check of required minimum cairo version 2024-03-20 15:40:04 +01:00
ManoloFLTK
0fa49f0ab4 Use type cairo_region_t* for Fl_Region under Wayland platform 2024-03-20 15:20:31 +01:00
Albrecht Schlosser
af90841fbc Update dependencies, whitespace, and Fl_File_Chooser.cxx
Rewrite src/Fl_File_Chooser.cxx from its .fl source file
2024-03-19 15:39:18 +01:00
ManoloFLTK
3a8daf70c0 Document fl_close_display() 2024-03-19 08:52:49 +01:00
Albrecht Schlosser
a77f68693c Fix "Support for HP-UX" (#937)
Fix usage of vsscanf in Fl_Unix_System_Driver::clocale_vsscanf().

Final commit of all patches provided by the OP of issue #937 - if
everything works now.
2024-03-18 23:51:05 +01:00
Albrecht Schlosser
5af2d77b84 Add more public accessor methods to Fl_Grid (#937)
Some of these accessor methods should be private so they can't be used
by user code but - due to compiler issues - they must be public for
HP-UX 11.11 (for details see GitHub Issue #937).
2024-03-18 23:23:49 +01:00
Albrecht Schlosser
dddfec57a1 Fix name clash on some systems (#937)
Rename local function and void using leading underscore.
2024-03-18 22:46:15 +01:00
Albrecht Schlosser
a5bad9a395 CMake: formatting only 2024-03-18 22:44:53 +01:00
Albrecht Schlosser
d3a3ab40b7 Replace setenv() with putenv() on old systems (+937)
Add system check for setenv() function in configure and CMake.
2024-03-18 22:29:50 +01:00
Albrecht Schlosser
1d43ae0b0a Move nanosvg to a separate file, don't use 'roundf()' (#937)
Replacement of roundf() with nsvg__roundf() fixes one aspect of
issue #937.

Having the nanosvg implementation in its own module was planned anyway.
2024-03-18 19:36:16 +01:00
Albrecht Schlosser
81d47f71d6 Fix VS compiler warning, write "copied" message to tty
... rather than popping up a message window.
2024-03-18 19:34:32 +01:00
Albrecht Schlosser
7bc75e8962 Fix a Visual Studio compiler warning 2024-03-18 18:48:28 +01:00
ManoloFLTK
792cfc27e7 native-filechooser has preview panel with FLTK_USE_X11 and macOS 2024-03-18 18:22:41 +01:00
ManoloFLTK
aac5e48875 Fl_Native_File_Chooser_GTK: improve preview of text files on HiDPI 2024-03-18 18:12:50 +01:00
ManoloFLTK
478e724c5f CHANGES.txt: mention new Fl_terminal widget 2024-03-18 17:15:33 +01:00
ManoloFLTK
5a97629d0b Restore building on old Linux/Unix systems lacking Xutf8LookupString() 2024-03-18 15:02:48 +01:00
ManoloFLTK
61c0f79397 Fix "FLTK on NetBSD very slow on X11 with Unicode locale" (#935) 2024-03-18 14:05:48 +01:00
Albrecht Schlosser
036e0334dc Simplify examples/CMakeLists.txt (libcairo linkage)
Fl_Cairo_Window is included in fltk::fltk and libcairo is linked
implicitly if FLTK was built with Cairo support.
2024-03-17 03:16:19 +01:00
Albrecht Schlosser
193c5285cd Improve linking of test/cairo_test.cxx demo program
With modern CMake libcairo doesn't need to linked explicitly in the
test/cairo_test.cxx demo program. Either '-lcairo' is implied by
linking with fltk::fltk or it is not used at all.

This fixes a linker warning on macOS:
  "ld: warning: ignoring duplicate libraries ..."
2024-03-16 23:24:01 +01:00
Albrecht Schlosser
29aba21b78 Fix memory leak in Fl_X11_Screen_Driver.cxx (#934)
Fl_X11_Screen_Driver::set_spot() did not free the list of missing
fonts returned by XCreateFontSet().

This commit also initializes some variables and reformats code, but
the only notable change is to call XFreeStringList(missing_list) if
missing_list is not NULL.
2024-03-16 15:26:07 +01:00
ManoloFLTK
3ec91d4c6d Create enum Fl_Wayland_Screen_Driver::cursor_shapes 2024-03-16 14:40:16 +01:00
Albrecht Schlosser
8b094e8af3 Fix a bunch of compiler warnings, particularly for old compilers
Works now much better with old C99 and C++98 standard compilers.
Fixed: C++ comments in C files and headers included by C files.

There are still some warnings with C90 though but these would be
hard to fix and left as-is for now.

test/fractals.cxx: some arrays were too small by 1, or the compiler
  warned at least (false positive?). Anyway, it's fixed now.
2024-03-15 20:42:42 +01:00
Matthias Melcher
b3e1df3584 STR 3489: fix alpha blending for X11 2024-03-15 20:18:35 +01:00
ManoloFLTK
82bd0b6652 Have FLTK use libdecor at version > 0.2.2
- it's no longer necessary to take care of the change in the layout of "struct libdecor"
between versions ≤ 0.2.2 and > 0.2.2 of libdecor
- version > 0.2.2 contains MR131, that is, it defines LIBDECOR_WINDOW_STATE_RESIZING
so the hack to emulate it is no longer  necessary
- CMake option FLTK_USE_SYSTEM_LIBDECOR now requires libdecor version > 0.2.2
to be activated, otherwise the bundled libdecor is used
- what will be the libdecor version after 0.2.2 (0.2.3? 0.3.0?) is not known as of today
2024-03-15 12:21:38 +01:00
Albrecht Schlosser
26f5b38a01 Update documentation, remove/edit explicit FLTK versions
... to simplify further version updates.

Add more deprecation notices concerning autotools/configure
to README.Unix.txt.
2024-03-14 17:16:43 +01:00
ManoloFLTK
3cf002b45d Remove compilation warning "enumeration value ‘NONE’ not handled in switch" 2024-03-13 21:10:35 +01:00
ManoloFLTK
7e12981abd To support difference in struct libdecor between built-in and system
That should disappear when next version of libdecor will be released.
2024-03-13 18:53:48 +01:00
ManoloFLTK
91d2bf4783 Improve Fl_Wayland_Screen_Driver::base_scale(int) 2024-03-13 18:02:13 +01:00
ManoloFLTK
cfcafaa2c8 Add details when FLTK_BACKEND_X11=off is used 2024-03-13 17:31:06 +01:00
ManoloFLTK
5400811b83 Update libdecor to upstream commit 4f2c03d5 - cont'd 2024-03-13 15:23:43 +01:00
ManoloFLTK
56f49828f4 Update libdecor to upstream commit 4f2c03d5 dated March 4, 2024 2024-03-13 15:14:57 +01:00
ManoloFLTK
3fafeb9ea1 Remove useless X11 libraries when building with -DFLTK_BACKEND_X11=0 2024-03-13 14:57:38 +01:00
ManoloFLTK
69df45d38b CMake-based build under Linux shows whether X11 is used 2024-03-13 09:26:55 +01:00