Commit Graph

11325 Commits

Author SHA1 Message Date
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
Albrecht Schlosser 290e95eaef Use FL_Alt_Gr key definition in test/keyboard
... and reformat key definition table
2024-03-09 14:03:51 +01:00
Albrecht Schlosser 602cd7a990 Use fixed font in test/clipboard for text display
This is more like a text editor would display text.

Todo: make the font selection optional (later).
2024-03-09 13:56:09 +01:00
Albrecht Schlosser c8960dd4e2 Add key name FL_Alt_Gr for AltGr on international keyboards 2024-03-09 13:53:34 +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
Albrecht Schlosser 4c0a2ffb81 Fix shortcut (Esc) handling in test/keyboard.cxx
Esc is intentionally consumed by the test program (see comment) but
other keystrokes (shortcuts) must pass to allow zooming with ctrl/+/-/0.
The old code filtered all shortcuts which turned out to be wrong.

Not being able to zoom was caused by a previous commit that lowered
the priority of the zoom key handler - which alone was not wrong.
2024-03-05 03:08:30 +01:00