Commit Graph

11460 Commits

Author SHA1 Message Date
Matthias Melcher
554bccbecd Synchronize mouse and keyboard callbacks for Fl_Button (#877)
Keyboard behavior for button types was not consistent with mouse
click behavior. This change avoids callbacks when pressed radio buttons
are pressed again.
2024-01-17 20:24:47 +01:00
Matthias Melcher
a038e55783 Restore original Fl_Button event behavior(#877)
Previous commits introduced too many changes to Fl_Button callbacks,
creating problems in user apps. This is the base for a second much
more specific fix to event flags.
2024-01-17 18:54:07 +01:00
ManoloFLTK
0dfa37f4c0 Wayland + full-size subwindow resizing issue - cont'd (#878)
Implement a less strict handling of resizing of a decorated window entirely covered
by a subwindow where throttling of fast resize commands is guided by the
value of the in_use member variable of the window's wld_buffer.
2024-01-17 11:43:00 +01:00
ManoloFLTK
266bf1d3c0 Update libdecor to commit 7807ae34 dated 15-Jan-2024 2024-01-16 15:08:11 +01:00
Greg Ercolano
e5abb3bc86 Fixed issue number reference. 2024-01-15 15:10:54 -08:00
Greg Ercolano
d3914ef90e Addresses issue #879 2024-01-15 14:52:58 -08:00
Greg Ercolano
3142eb2fda Small code fixups
> Enabled -Wall -Wextra -Wpedantic to catch errors
    - Silenced resulting "unused parameters" warnings
    - Fixed char omission in protected Fl_Terminal::insert_char() methods
> Self doc code and better comments in RingBuffer::resize()
> Changed private RingBuffer::clear_disp_row() -> clear_disp_rows()
> Added private RingBuffer::hist_rows()/disp_rows() setter methods
> Added private RingBuffer::offset_adjust() method for adjusting RingBuffer offset_
> Fixed comment typos
> Remove white space inside outer parens of while()/if()/etc
2024-01-15 14:33:17 -08:00
ManoloFLTK
8679be8561 Restore correct copyright window for checkers demo 2024-01-15 17:28:25 +01:00
Matthias Melcher
31daa83f2b #877: Formatting, comments, debug output 2024-01-14 16:58:34 +01:00
Matthias Melcher
da6791d492 #877L: Formatting, Unused variable. 2024-01-14 15:48:33 +01:00
ManoloFLTK
c44bea787f #842 - cont'd: fix typos in documentation. 2024-01-14 14:32:46 +01:00
Matthias Melcher
5c90938aa3 #887: Fixes FLTK file chooser not releasing preview image.
...when hidden
2024-01-14 01:42:05 +01:00
Matthias Melcher
be1c96b98a #889: Fixes missing return statement. 2024-01-14 00:52:41 +01:00
Matthias Melcher
e0a334840d #842: Documents args() color values and how they apply 2024-01-13 23:07:13 +01:00
Matthias Melcher
826eb39d68 #877: Fixes shortcut callbacks for Fl_Button
- this commit does rewrite some of the logic,
hoping to make thing more, um, logical. The bits
react mostly the same and hopefully as expected.
Everything is documented in the Fl_Button ctor.
2024-01-13 22:36:35 +01:00
ManoloFLTK
a6e5b5b35b Remove compilation warning
converting to non pointer type "int" from NULL (-Wconversion-null)
2024-01-13 21:08:41 +01:00
Albrecht Schlosser
92b48c3936 Fix yet another typo in documentation 2024-01-13 20:05:34 +01:00
Albrecht Schlosser
0f1a803eb8 Fix doxygen docs (typo, undocumented parameter) 2024-01-13 20:01:23 +01:00
Matthias Melcher
332a87aa43 #887: Fixes Fl_Shared_Image reference counting
- adds documentation to all calls
- changes implementation details on ::copy()
and copy(w,h)
2024-01-13 19:32:32 +01:00
ManoloFLTK
994b5824dc Wayland: fix processing of keypad keys - cont'd (#881) 2024-01-13 10:48:52 +01:00
ManoloFLTK
421e917f03 Comment out debug statement 2024-01-11 17:21:49 +01:00
Greg Ercolano
c9534460f7 Solves issue #882. 2024-01-11 08:20:16 -08:00
Greg Ercolano
d9125d76cb Solves issue #884: single quote zenity/kdialog 2024-01-11 07:50:09 -08:00
Matthias Melcher
a237743c8b #885: Fixes keyboard text selection in Fl_Text_Editor 2024-01-11 16:20:55 +01:00
Greg Ercolano
dc70a04100 Add Fl_String not-equal test 2024-01-10 21:32:02 -08:00
Albrecht Schlosser
32514e6d2b Quote doxygen command where necessary
... if the doxygen path includes spaces.

Done for configure/make + CMake.
2024-01-11 01:47:07 +01:00
Greg Ercolano
08e64283aa Add textattrib() get method+docs
Requested by Jonathan Griffitts during rust bindings.
2024-01-10 09:10:07 -08:00
ManoloFLTK
2db1929985 Wayland: fix processing of keypad keys - tidying (#881) 2024-01-07 10:14:40 +01:00
Albrecht Schlosser
b4697c33ff Remove Fl_Simple_Terminal (replaced by Fl_Terminal)
... as discussed previously.
2024-01-06 18:29:25 +01:00
Albrecht Schlosser
37eefe5548 Wld: Add missing keypad key to keypad translation table (#881)
Keypad key 'Del' aka '.' (or ',') was missing in the key translation
table for Fl::e_original_keysym.

Also: add DEBUG_KEYBOARD macro to enable/disable keyboard debugging
code easier.
2024-01-06 17:56:04 +01:00
Albrecht Schlosser
829cac52c6 Fix numeric keyboard example program
examples/howto-remap-numpad-keyboard-keys.cxx:

Substitute Fl::event_key() as well which is required for some input
widgets - maybe only on some platforms (seemed to work on X11 but
not on Wayland).

Also: fix typos and whitespace.
2024-01-06 17:56:04 +01:00
Albrecht Schlosser
c8112003ca Fix typo 2024-01-06 17:56:04 +01:00
ManoloFLTK
516f9e7885 Fix "When zooming window, the window size range must be adjusted" (#880) 2024-01-06 14:52:57 +01:00
ManoloFLTK
e1cd6dec4a Wld: Fix e_original_keysym for keypad number keys + NumLock off (#881) 2024-01-06 12:38:24 +01:00
ManoloFLTK
a893cc3f5e Wayland: fix processing of '.' keypad key (#881) 2024-01-06 09:22:40 +01:00
ManoloFLTK
bc28433f2e Wayland: numeric keypad keys don't work as intended - cont'd (#881) 2024-01-05 19:34:46 +01:00
ManoloFLTK
944b5e7072 Wayland: numeric keypad keys don't work as intended (#881) 2024-01-05 19:05:36 +01:00
Albrecht Schlosser
3b1ea22d1d Remove unused variables [-Wunused-variable] 2024-01-04 15:29:07 +01:00
Greg Ercolano
04bf5c5a34 Limit test/terminal window size
Prevents window from squishing buttons horizontally.
Allows tty height to shrink to no less than a single line.
2024-01-03 23:08:18 -08:00
Matthias Melcher
71d3cdd337 Removes debugging printf. 2024-01-04 01:27:40 +01:00
Matthias Melcher
46c9cf2f10 #797: Improves Fl_Tile resize behaviour
- if a tile with a size range is resize smaller than the
minimum size of all children, the children will now no
longer shrink, and expanding will make them work
again as expected.
2024-01-04 01:26:40 +01:00
Albrecht Schlosser
d237d186ae CMake: add missing configuration output statement 2024-01-01 19:14:26 +01:00
Albrecht Schlosser
ecb3e40d69 Fluid: fix "MergeBack" preference location
... although currently disabled - just in case this feature will be
re-enabled.
2023-12-30 17:37:31 +01:00
Matthias Melcher
a09c75e9bc Adds Fl_Input RMB menu translation to test/preferences
This also updates the RMB menu labels before every popup so
that changing the labels after creating the widgets still reflects
that change correctly.
2023-12-28 15:43:21 +01:00
ManoloFLTK
30f2ec8185 Fix for bug in Mutter Wayland compositor (#878) - cont'd
Add more tests to do additional operations under stricter conditions
2023-12-28 11:28:47 +01:00
ManoloFLTK
6143764885 Fix for bug in Mutter Wayland compositor (#878)
Mutter implements too strictly this rule expected from compositors about "frame callbacks" :
"A server should avoid signaling the frame callbacks if the surface is not visible in any way,
e.g. the surface is off-screen, or completely obscured by other opaque surfaces."
When a window is being interactively resized, it makes no sense to create a frame callback
for an entirely covered surface but then never signal the surface can be redrawn,
because this blocks the resize operation.

Neither KWin nor Weston have this problem.
2023-12-28 09:59:51 +01:00
ManoloFLTK
73bd4a53dd Fix position of 1-button Fl_Message windows 2023-12-27 12:15:25 +01:00
ManoloFLTK
bb5cb5b6d4 Wld: export only member functions for ./configure --enable-shared (#872) 2023-12-26 16:00:44 +01:00
Albrecht Schlosser
1d73c0195c Improve docs and add two new Fl_Menu_Item methods (#875)
This addresses some issues pointed out by GitHub Issue #875.

Documentation lacked details about Fl_Multi_Label assignment and
correct memory handling.

The new methods
 - Fl_Menu_Item::image_label(const Fl_Image *) and
 - Fl_Menu_Item::multi_label(const Fl_Multi_Label *)
provide a cleaner interface to assign images and Fl_Multi_Label's
to menu items.

examples/howto-menu-with-images.cxx: carify some issues, fix leak,
  and use new Fl_Menu_Item::multi_label(const Fl_Multi_Label *).
2023-12-23 20:08:18 +01:00
Albrecht Schlosser
016c36c917 Fix memory free() mismatch (#875)
This issue was revealed during testing for GitHub Issue #875.

"ERROR: AddressSanitizer: attempting free on address which was not
malloc()-ed", reported by examples/howto-menu-with-images.cxx if
the window object was released at the end of the program, causing
Fl_Menu_::clear() to be called.

The issue was caused by casting all supported label types to
'const char *' which are stored in Fl_Menu_Item::text and then trying
to free() all text strings in Fl_Menu_::clear() under certain
conditions.

Now images and Fl_Multi_Label's are no longer (tried to be) free'd.
2023-12-23 20:05:48 +01:00