Commit Graph

11532 Commits

Author SHA1 Message Date
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
ManoloFLTK
40aa9c8609 Allow CMake-based build with -DFLTK_BACKEND_X11=0 under Linux/Unix 2024-03-13 09:06:10 +01:00
Albrecht Schlosser
9f4cea25bf Improve keyboard event test program: add copy button
... to copy selected or the full text to the clipboard.
2024-03-12 22:33:34 +01:00
ManoloFLTK
14d7218acd Fix compilation errors under Ubuntu 20.04
The problems will hopefully be fixed upstream later
2024-03-12 22:29:30 +01:00
Albrecht Schlosser
5e4f51ac6b Fix several compiler warnings
Three unrelated but only minor warnings.
2024-03-12 21:47:33 +01:00
Greg Ercolano
13526f04ab Make Fl_Terminal selection_text() methods public
As per Albrecht's request on fltk.coredev..
2024-03-12 13:18:54 -07:00
Albrecht Schlosser
aa02a0297b Fix trimming of trailing whitespace in Fl_Terminal::text()
... and document a missing parameter.
2024-03-12 17:37:42 +01:00
ManoloFLTK
d30e4aa0af Fix use of FLTK_SCALING_FACTOR under macOS 2024-03-12 17:29:29 +01:00
ManoloFLTK
f8380476c2 using xlib to query the new DPI (old #910) (PR #913)
Thanks to Mike Qin for finding how to query the possibly changed DPI value
of an X11 display while an FLTK app keeps running without running
an external command in a pipe.
2024-03-12 15:40:45 +01:00
ManoloFLTK
70a9c4d407 Update libdecor to upstream commit 09875530 dated March 3, 2024 2024-03-12 14:09:35 +01:00
Greg Ercolano
38af0c823b Add Fl_Terminal to "Scrollbar Size" unittest (#931)
This involved enlarging the unittest main window to make room
for the additional test.

Adding this test revealed a problem in Fl_Terminal's global
scrollbar size handling, which is fixed here as well.

Also fixed a small issue in the demo's debugging terminal
with the horiz scrollbar.
2024-03-11 13:20:17 -07:00
Greg Ercolano
b1910ccfff Refit display rows/cols preset, remove test code 2024-03-11 12:57:45 -07:00
Greg Ercolano
6668c7ef42 Fix Fl_Terminal horiz scrollbar appearing needlessly (#930) 2024-03-11 12:22:32 -07:00
Albrecht Schlosser
62d85333bd Improve handling of events in test/handle_keys.cxx
(1) Ensure that the terminal widgets doesn't use keyboard events.
  Advantage: keyboard navigation and selection doesn't interfere
    with the display.
  Drawback: Contents of the terminal can no longer be copied.
    This will be addressed in a later update.

(2) Thanks to Manolo for his addition of the "GUI scaling" button.
  Although GUI scaling can be useful, it can also be annoying while
  testing shortcuts.

(3) Changed all light buttons to check buttons.
2024-03-11 17:07:56 +01:00
ManoloFLTK
483729f4f8 macOS: Fullscreen window loses sys menu bar if 2nd window is opened (#924) 2024-03-11 15:18:59 +01:00
ManoloFLTK
20e8da9dfd Fix: Filechooser preview of XML file shows it as a corrupt image (#926) 2024-03-11 11:36:47 +01:00
Albrecht Schlosser
7bbe75c84e Add another keyboard event test program test/handle_keys.cxx
This program logs all keyboard events to a built-in Fl_Terminal widget.

WIP: version 0.80
2024-03-09 15:17:34 +01:00