Commit Graph

6985 Commits

Author SHA1 Message Date
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
7bc75e8962 Fix a Visual Studio compiler warning 2024-03-18 18:48:28 +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
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
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
ManoloFLTK
91d2bf4783 Improve Fl_Wayland_Screen_Driver::base_scale(int) 2024-03-13 18:02:13 +01:00
ManoloFLTK
5400811b83 Update libdecor to upstream commit 4f2c03d5 - cont'd 2024-03-13 15:23:43 +01:00
ManoloFLTK
3fafeb9ea1 Remove useless X11 libraries when building with -DFLTK_BACKEND_X11=0 2024-03-13 14:57:38 +01:00
Albrecht Schlosser
5e4f51ac6b Fix several compiler warnings
Three unrelated but only minor warnings.
2024-03-12 21:47:33 +01: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
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
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
Greg Ercolano
dd73389f40 Small scrollbar fixes 2024-03-06 21:41:40 -08:00
Albrecht Schlosser
3ac007541e
Add horizontal scrollbar to Terminal widget (#928)
* Checkpoint. Basic functionality seems to be working.

* Code cleanup

* Added horizontal scrollbar to Terminal widget

* Fix hscrollbar_size operation

* Applied erco-terminal-mods_v5_final.patch.txt
Final patch relating to PR 918

* Remove trailing whitespace, update copyright year

---------

Co-authored-by: Jonathan Griffitts <jonathan.griffitts@gmail.com>
Co-authored-by: Greg Ercolano <erco@seriss.com>
Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2024-03-06 21:16:11 -08:00
ManoloFLTK
0f8649f3c4 Filechooser preview of XML file shows it as a corrupt image - cont'd (#926) 2024-03-05 19:02:27 +01:00
ManoloFLTK
72840ea2c1 Fix: Filechooser preview of XML file shows it as a corrupt image (#926) 2024-03-04 21:15:47 +01:00
ManoloFLTK
ad7d1dc1c6 Fullscreen window loses sys menu bar if 2nd window is opened (#924) 2024-03-04 19:43:17 +01:00
ManoloFLTK
a0ff3f6f5c Fix Scaling window up/down also scales X/Y position on secondary displays only (#925) 2024-03-04 16:25:45 +01:00
ManoloFLTK
7777a503ad Implement Fl_Wayland_Screen_Driver::base_scale(int numscreen) 2024-03-04 16:20:54 +01:00
ManoloFLTK
5ba756e60a X11: improve moving window back & forth across screens (#919) 2024-03-04 10:10:04 +01:00
ManoloFLTK
f87aad7464 Use Fl_Window_Driver::is_resizable() to check whether window can be resized 2024-03-03 23:06:59 +01:00
ManoloFLTK
bbbc3a739c X11: Window scaling makes window lose resizable status if resizable_ is NULL (#923) 2024-03-03 20:53:16 +01:00
ManoloFLTK
130f5b6dc1 A window needs is_resizable() true to obey fullscreen() or maximize() 2024-03-03 17:50:49 +01:00
Albrecht Schlosser
d832ab742a Fix Visual Studio compiler warnings 2024-03-03 16:15:43 +01:00
Greg Ercolano
257e20e929 Added Fl_Terminal::text() and docs 2024-03-02 22:47:45 -08:00
Matthias Melcher
f1c9b198bb Promote fl_strlcpy to <FL/fl_string_functions.h> 2024-03-02 23:49:35 +01:00
ManoloFLTK
7fea97c7a7 Fix regression introduced at 41740ca for non resizable windows - cont'd 2024-03-02 20:02:11 +01:00
ManoloFLTK
b74099c5fd Add OPTION_SIMPLE_ZOOM_SHORTCUT to fine tune zoom-in shortcut 2024-03-02 17:25:10 +01:00
ManoloFLTK
a76229972e macOS: remove test that became useless after 5f20698 2024-03-02 08:12:54 +01:00
ManoloFLTK
34b8801fed Windows: fix moving window with Windows+Shift+arrow (#919) 2024-03-01 18:30:20 +01:00
ManoloFLTK
cc15700bdb Windows: improve changing scale values of display while app runs. 2024-03-01 14:00:43 +01:00
ManoloFLTK
266647d2a7 Windows: fix issue if moving window back & forth across screens (#919) 2024-03-01 12:20:10 +01:00
ManoloFLTK
0eef561e7b Windows: make Ctrl/+/-/0/ scaling system-wide if all screens have same DPI 2024-03-01 11:11:15 +01:00
ManoloFLTK
5f2069871d Move recognition of Ctrl= out of Fl::test_shortcut(unsigned) 2024-02-29 07:17:31 +01:00
Albrecht Schlosser
367826979d Fix a typo and the URL to an STR in a comment
no code changes
2024-02-28 15:54:02 +01:00
ManoloFLTK
f4fb973c5d Simplify code to recognize GUI rescaling shortcuts 2024-02-28 09:13:35 +01:00
ManoloFLTK
eb3977ac43 Fix regression introduced at 41740ca for non resizable windows 2024-02-27 18:52:25 +01:00
ManoloFLTK
fc46e771cd Improve prioritization of event handlers added at open display time 2024-02-27 16:20:25 +01:00
ManoloFLTK
746cbf861a Minor optimization of macOS automatic Window menu 2024-02-27 13:46:41 +01:00