Commit Graph

10212 Commits

Author SHA1 Message Date
Matthias Melcher
f576faf2a6 Fix new warnings in CI 2023-01-10 17:07:03 +01:00
Albrecht Schlosser
5e133c1e88
CI: Enable compiler warnings in CI builds (#648)
'-Wall -Wunused -Wsuggest-override'
depending on the C++ standard, either
- C++98 (Linux/X11)
- C++11 (Linux/Wayland)
- C++20 (macOS)
2023-01-10 16:31:49 +01:00
Matthias Melcher
cf2d2fc5e0 Fix compiler warning in test/tabs 2023-01-10 15:20:05 +01:00
ManoloFLTK
9bdaf5a84d Virtual member Fl_Window_Driver::makeWindow() now returns void 2023-01-09 17:35:38 +01:00
ManoloFLTK
a5b431e35e Wayland: Possibly better way to complete popup construction 2023-01-09 17:11:21 +01:00
ManoloFLTK
a6dd0adac7 Doc only: fix for "Fl::awake() and Fl::add_timeout()" (#524) 2023-01-09 15:07:59 +01:00
ManoloFLTK
13ce93330a Wayland: fix Fl::event_key(int) 2023-01-09 10:06:29 +01:00
Matthias Melcher
7d167b3cf1
FLUID: add drag'n'drop for images (#642)
FLUID dnd for desktop images into the design
Documentation for fl_access
2023-01-08 19:43:31 +01:00
Greg Ercolano
1324c623fe Add new Fl_Rect::inset(lt,top,rt,bot) method 2023-01-08 09:42:58 -08:00
ManoloFLTK
09db3a6dea Fix "Xrender blurs adjacent images with bilinear scaling" (#633)
Many thanks to @wcout for providing this fix.

Xrender now draws images in the same way when tiling images
or not when FL_RGB_SCALING_BILINEAR is on.
This allows to remove static bool Fl_Tiled_Image::drawing_tiled_image()
which becomes unused.
2023-01-08 11:17:03 +01:00
ManoloFLTK
222b2ea2e8 Wayland: Improved implementation of menu windows 2023-01-08 09:30:51 +01:00
Matthias Melcher
6ada45f1f2 Fix missing parameter documentation 2023-01-08 01:07:04 +01:00
Greg Ercolano
8e16286ebb Fix Fl_Spinner draw problem - closes #638 2023-01-07 09:35:53 -08:00
ManoloFLTK
18f2854656 Fix for "Shift-Ctrl-C shortcut in fluid not working on newer linux OS's" (#637) 2023-01-07 15:36:02 +01:00
Albrecht Schlosser
8dd3ff8e12 X11: Optionally copy selection buffer to clipboard (STR 3229)
The new method Fl::selection_to_clipboard(int) enables copying
selection data to the clipboard on X11 if it is set to 1.

This feature was requested by STR 3229 and the implementation was
inspired by an `xterm` feature named "Select to Clipboard" which can
be enabled by 'ctrl + middle mouse button + "Select to Clipboard"'
in an xterm window.
2023-01-06 16:45:22 +01:00
Greg Ercolano
69773338b9 Include OS error if reap_editor() fails 2023-01-05 15:46:33 -08:00
Matthias Melcher
e0830305a2 Add Fl_Tabs dragging in pulldown mode 2023-01-05 23:17:02 +01:00
Matthias Melcher
4bff15278e Adding Fl::hide_all_windows() 2023-01-05 15:20:13 +01:00
Matthias Melcher
9ef9bbe80e
Adding color to test/mandelbrot (#634) 2023-01-05 14:10:46 +01:00
Matthias Melcher
8826dca106
Add close buttons for individual tabs in Fl_Tabs (#628)
Add close buttons for Fl_Tabs
Introducing callback reasons
FLUID shows all FL_WHEN_... options
Adding Fl_Tabs overflow types
Improved test/tabs to show new features
2023-01-05 13:51:30 +01:00
Albrecht Schlosser
4d1a508c7e Refactor drawing small circles: add fl_draw_circle()
This method can be used to draw small circles as part of the GUI.
It is independent of the current scheme.

Very small circles are approximated by drawing several rectangles.
2023-01-05 01:06:25 +01:00
Albrecht Schlosser
b5b88d5f0d Remove unused variable, fix "type issue" (#445, part 2)
This commit removes the unused variable as suggested in the discussion
of issue #445: "type issue in fluid/ExternalCodeEditor_WIN32.cxx"

... although the compiler would remove it anyway. ;-)
2023-01-04 20:25:49 +01:00
ManoloFLTK
ae240340ab Fix for "Fl_Native_File_Chooser_MAC.mm compilation warning" (#627) 2023-01-04 18:02:29 +01:00
ManoloFLTK
13f2ea664a Cairo/Pango: compute character widths fast and string widths accurately
This commit has Fl_Cairo_Graphics_Driver compute string widths in 2 ways:
1) when the string contains several unicode characters, the width of the
whole string is computed, accounting for kerning when it occurs;
2) when the string contains a single unicode character, its width is
computed, memorised, and re-used next time it's necessary.

The effect of this approach is
- Fl_Text_Display is fast because it uses memorised single character widths repeatedly
- Fl_Input is drawn accurately because the cursor position is determined
by string widths, not by sums of character widths.
2023-01-04 17:23:13 +01:00
Albrecht Schlosser
d3988f9bdc Update "Migrating Code ..." documentation
Add "New FL_OVERRIDE Macro" paragraph and update some more parts.
2023-01-03 18:51:03 +01:00
Albrecht Schlosser
9aa7cab532 Clarify and improve Fl::scheme() related documentation 2023-01-03 17:11:00 +01:00
Albrecht Schlosser
22a830c496 Fix missing include file for Visual Studio
... if GDIPLUS is disabled.

Thanks to Winfried Szukalski for reporting this.
2023-01-02 21:21:04 +01:00
Albrecht Schlosser
99a1daf1a9 Modify 'oxy' scheme's "choice arrow" for consistency
The "choice arrow" used two "down-arrows" which was different than
all the other schemes. Changed to up-arrow and down-arrow to make
this more consistent.

The exception is the default scheme (none or base) which uses only
one down-arrow.
2023-01-02 18:15:00 +01:00
Albrecht Schlosser
e8f2602032 Fix box frame sizes of "round" boxes in scheme 'oxy' 2023-01-02 18:00:47 +01:00
Albrecht Schlosser
a1ebe027be Fix a doxygen warning and improve "file list" contents
FL/Fl_Group.H: add `\brief` keyword
src/Fl_Group.cxx: fix warning: the '#' in '#include' must be escaped
2023-01-02 15:56:56 +01:00
Matthias Melcher
a63ad76603
FLUID refactor and macOS warnings removed (#623)
P renamed to g_project
class Project renamed to class Fluid_Project
fixes macOS type cast warnings
2023-01-01 20:05:42 +01:00
Albrecht Schlosser
23e8d831a8 Add a missing FL_OVERRIDE flag 2023-01-01 18:02:46 +01:00
Matthias Melcher
c8024c7a3b
Make sure that zlib and png are both local or system (#621)
Autoconf syncs png and zlib configuration
Cmake png zlib selection
2023-01-01 17:29:23 +01:00
Matthias Melcher
9a3f0f2089 FLUID: BMP header file not tracked 2023-01-01 17:15:00 +01:00
Matthias Melcher
ab0d59220e FLUID: Fixes size_t signedness warning 2023-01-01 17:09:15 +01:00
Adam Chyła
bfe730ecbf
Remove commented fl_beep calls (#620) 2022-12-30 23:15:53 +01:00
Matthias Melcher
473b5d8b5b Fixing false FL_OVERRIDE 2022-12-30 20:54:03 +01:00
Matthias Melcher
96f080a212 Fix uninitialised struct in SVG reader 2022-12-30 20:49:48 +01:00
Matthias Melcher
2c5a5ce948
FLUID support for inline image data (see #542, #592) (#604) 2022-12-30 19:20:52 +01:00
Matthias Melcher
44c874b731
Use FL_OVERRIDE for all overridden virtual methods (#611)
FL_OVERRIDE is defined as `override` for C++11 and higher
FL_OVERRIDE is defined as `override` for VisualC 2015 and newer
Don't interfere with Fl_Widget::override()
2022-12-30 19:14:36 +01:00
Albrecht Schlosser
f58a93a159 Fix misleading indentation (warning: [-Wmisleading-indentation]) 2022-12-30 17:32:01 +01:00
ManoloFLTK
b2a38f793f Wayland+FreeBSD: fix "test/mandelbrot crashes on rightclick" (#618) 2022-12-30 09:40:58 +01:00
ManoloFLTK
7e4306af6b Fix "Focus is lost leaving full screen on macOS 13" (#608) 2022-12-29 15:54:32 +01:00
ManoloFLTK
83d9a2c63d libdecor: update from upstream (3f3e5e1d) as of 29-dec-2022 2022-12-29 15:26:28 +01:00
Albrecht Schlosser
78cf29ba29 Improve and extend fl_contrast() (#370)
- Add internal fl_contrast_cielab() as the new default.
- Keep old function as internal fl_contrast_legacy().
- Add fl_contrast_mode() to switch between fl_contrast() functions.
- Add fl_contrast_level() to fine tune fl_contrast() per mode.
- Add option to register and use a custom contrast function.
- Add test/contrast.cxx test program.
- Move all fl_contrast() related code to a new file src/fl_contrast.cxx.
- Add fl_lightness() convenience function for perceived lightness.
- Add fl_luminance() convenience function for physical luminance.
2022-12-28 18:16:23 +01:00
ManoloFLTK
31327cd649 Fix for Two compiler warnings (#615) - cont'd
The Page_Format and Page_Layout  enums have been conceived for them to be combinable
into a single int value.
2022-12-28 16:58:52 +01:00
Albrecht Schlosser
6518e2d1f1 Fix merge error in animated.cxx (sorry for the noise) 2022-12-28 16:24:28 +01:00
Albrecht Schlosser
03389d1931 Replace an enum with 'const' variables in test/animated.cxx
- replace enum value 'FRAMES' with 'const unsigned int frames'
- replace enum value 'DIM' with 'const unsigned int dim'
- remove commented statements that have never been used.

Note: this also changes uppercase enum values to lowercase constants.
2022-12-28 16:00:22 +01:00
ManoloFLTK
72b8054ecc Fix compiler warnings on Windows with mingw-w64 CMAKE_CXX_STANDARD=20 (#615) 2022-12-28 09:32:01 +01:00
ManoloFLTK
7601bd832c Wayland: remove un-needed #include directives 2022-12-28 09:08:52 +01:00