Commit Graph

6681 Commits

Author SHA1 Message Date
Albrecht Schlosser
6ba7b49baf Improve subclassing cababilities of Fl_Tile (STR 2791)
- remove static variables and functions
- make move_intersection() virtual
- add (protected) cursor access methods

These changes were inspired by STR 2791 where the user proposing an
enhancement was not able to subclass Fl_Tile properly. This commit
fixes the mentioned issues and enables subclassing without copying
internal code.
2023-10-16 13:33:40 +02:00
ManoloFLTK
da5331b592 Open
Fix Drawing artifact with round check buttons in menu under Cairo (#792)
2023-10-16 12:47:06 +02:00
Albrecht Schlosser
4964a15c01 Improve small radio buttons by using fl_draw_circle()
This removes duplicated code as intended when fl_draw_circle()
was introduced.
2023-10-15 12:25:21 +02:00
Albrecht Schlosser
fd6accec24 Fix small circle drawing and add doxygen \since statement
src/fl_draw.cxx: improve documentation, add \since 1.4.0,
  simplify scaling code, use forgotten 'color' argument to set the
  circle color.

src/fl_draw_arrow.cxx: add doxygen \since statement
2023-10-15 11:30:19 +02:00
Matthias Melcher
56ad8f8a78 Draws nicer small circles if display is scaled up. 2023-10-14 14:57:29 +02:00
ManoloFLTK
ded5839d9c Improve Fl_Wayland_Window_Driver::take_focus() 2023-10-14 09:43:35 +02:00
Albrecht Schlosser
01038e832a Fix trailing whitespace and dependencies 2023-10-13 19:08:30 +02:00
ManoloFLTK
6958e5d615 Drawing artifact with round check buttons in menu under Cairo (#792) 2023-10-13 15:30:12 +02:00
ManoloFLTK
c274ae1365 Remove obsolete comments 2023-10-13 15:30:12 +02:00
Matthias Melcher
58b13b868e FLUID: allow mousewheel events on coordinate input
MACOS: make sure that even small mouse wheel deltas count at least as 1 unit
2023-10-13 13:59:01 +02:00
Matthias Melcher
b1321bb97e #748: Adds option to choose menu window boxtype
...independently from the menu button or menu bar boxtype
2023-10-13 12:49:26 +02:00
Matthias Melcher
d7a5e5099c Fixes conversion warning. 2023-10-11 23:33:31 +02:00
Matthias Melcher
c41b3a1a64
Fixes fl_filename_relative on Linux, Mac, and Windows (#787)
* fixed filename_relative for Linux
* Fixing fl_filename_relative for MSWindows.
* Update documentation
* Fixed docs.
* Fixes Linux and macOS builds
2023-10-11 23:26:36 +02:00
Matthias Melcher
33b601e574
Synchronize all arrow colors and inactive drawing (#791) 2023-10-11 23:25:52 +02:00
ManoloFLTK
86cadec162 macOS: remove availability warning 2023-10-11 10:53:03 +02:00
ManoloFLTK
00aab5e698 Add legit #pragma clang diagnostic ignored "-Wdeprecated-declarations" 2023-10-11 10:17:31 +02:00
leen
fcaae03537
Fix default color of ATTR_GRAMMAR/ATTR_SPELLING (#790) 2023-10-10 22:03:40 +02:00
ManoloFLTK
bb7e1635ad macOS: remove a bunch of deprecation warnings 2023-10-09 11:16:36 +02:00
ManoloFLTK
d1436f4f63 Clean long source lines in Fl_Wayland_Graphics_Driver.cxx 2023-10-09 09:11:20 +02:00
ManoloFLTK
da15a12ffe Fix " Wayland compilation warnings" (#788) 2023-10-09 08:11:54 +02:00
Albrecht Schlosser
1fd6f0dd3a Fix STR 3458: "GLUT compatibility mode segfaults"
... "when there's no current window".

Silently ignore GLUT function calls that need a current window if the
current window is NULL, return 0 from functions that return an 'int'.

Check if window is shown in Fl_X11_Gl_Window_Driver::swap_buffers().
This would issue "XRequest.nnn: GLXBadDrawable 0x0" on X11 otherwise.

Note: the chosen implementation to ignore GLUT calls silently appears
to be compatible with GLUT (3.7) whereas FreeGLUT 3.0 would issue error
messages and exit. The latter could be implemented as well but would
be much more work.
2023-10-07 17:14:11 +02:00
ManoloFLTK
f6690a9742 Fix: macOS runtime warning makeKeyWindow... (#785) 2023-10-06 19:02:09 +02:00
ManoloFLTK
4d9805537b Change prototype to Fl::now(double offset = 0) 2023-10-06 16:23:08 +02:00
ManoloFLTK
6571bd2f28 Wayland: whitespace only changes 2023-10-05 17:07:55 +02:00
ManoloFLTK
e8f633cf2f Wayland: remove useless code 2023-10-04 10:24:27 +02:00
ManoloFLTK
aa14ffe6a1 Fix fltk.coredev: mandelbrot demo segfault under Wayland 2023-10-03 21:56:01 +02:00
Albrecht Schlosser
f8bf7e5da4 Avoid integer overflow on Windows in delta time calculation
See comment in the code. This makes the implementation more future
proof although it's still problematic starting around 2038.
2023-10-03 16:37:59 +02:00
ManoloFLTK
4132590d8c Wayland: add security test to avoid NULL pointer dereferencing 2023-10-03 08:13:33 +02:00
Matthias Melcher
76b16d8cef Fixes Fl_Tabs clipping offset 2023-09-30 13:41:49 +02:00
Albrecht Schlosser
a1f47148a3 Remove unused variable, silence compiler warning
warning: unused variable ‘dy’ [-Wunused-variable]
2023-09-29 16:27:03 +02:00
Matthias Melcher
144d7d3529 Adds Fl_Menu_::prev_mvalue() (#685) 2023-09-29 15:22:47 +02:00
Matthias Melcher
25a9af2f06 Fixes overlapping tabs (#718)
* corrects clipping of overlapping tabs
* fixes some issues with exotic box types
like rounded boxes
2023-09-29 14:12:39 +02:00
Matthias Melcher
f3eae58c52 Draw parent window backdrop on Fl_Tabs (#718) 2023-09-29 14:12:39 +02:00
ManoloFLTK
ff0a3a9d59 Wayland: throttle window redraws during interactive resizes (#776) 2023-09-29 12:29:52 +02:00
Matthias Melcher
c073c1fca7 Fix for CLEAR flag in Fl_Preferences
Fixed warning in new Fl_Preferences constructor
2023-09-27 12:26:35 +02:00
Matthias Melcher
71b8e77935
FLUID: adds greatly enhanced Shell Commands (#774)
The user can add an arbitrary number of highly configurable 
shell commands through the setting panel. The commands can
be saved as user preferences, inside the .fl file, or exported
to an external file. Shell scripts can be limited to individual 
platforms, can have shortcut keys, etc. .

* documentation will follow
* support to call `fltk-config` will follow
2023-09-26 16:01:03 +02:00
ManoloFLTK
2bbdd49465 Remove "warning: extended initializer lists only available with …" 2023-09-26 15:38:21 +02:00
ManoloFLTK
75273c06c5 Add Fl_Timestamp Fl::distant_past()
Can be handy when Fl::seconds_since() is used early at program startup
2023-09-26 12:31:20 +02:00
Matthias Melcher
0a2f05a2fe FLUID: Fixes regression #777
Wrote wrong path in #inlude statement under certain
conditions. Also removed 'snap' tag if not needed.
2023-09-26 00:29:26 +02:00
ManoloFLTK
b8fa522ca4 New member function Fl_Wayland_Graphics_Driver::create_wld_buffer()
The previous member Fl_Wayland_Graphics_Driver::create_shm_buffer() is now
renamed to create_wld_buffer() and divided in 2 parts:
- one is related to the draw buffer;
- the other is related to the wl_buffer and is what is now called create_shm_buffer().
This allows to delay creation of the wl_buffer until absolutely necessary,
done inside Fl_Wayland_Graphics_Driver::buffer_commit().
2023-09-25 16:40:01 +02:00
ManoloFLTK
59b251cc39 Slightly simpler Fl_Wayland_Window_Driver::flush()
and beef up description of Wayland's mechanism to throttle screen redrawing.
2023-09-24 09:52:48 +02:00
Albrecht Schlosser
c02ecbcae2 Regenerate src/Fl_File_Chooser.cxx from its fluid source file 2023-09-22 14:03:34 +02:00
Albrecht Schlosser
43ff6f0c32 Update dependencies 2023-09-22 14:03:34 +02:00
ManoloFLTK
220dd47bea Increase reuse of mmap'ed data by FLTK Wayland buffer factory 2023-09-22 11:51:24 +02:00
Greg Ercolano
cee69943e5 Small FNFC doc clarification; "pilots" -> "presets" 2023-09-20 23:34:43 -07:00
ManoloFLTK
a26e12590c Step back commit 8248183 that's unsatisfactory while resizing windows 2023-09-18 13:06:13 +02:00
ManoloFLTK
be07e5448f Improve reuse of mmap'ed data by Wayland buffers 2023-09-17 13:05:50 +02:00
ManoloFLTK
824818303c Restore Doxygen doc of fl_graphics_driver 2023-09-17 09:00:48 +02:00
Albrecht Schlosser
ede381c005 Fix Visual Studio shared library build
Todo: fluid-shared can't (yet) be built agains the shared fltk lib
  because of some linker errors. Needs investigation.

Note: fluid-shared is basically a test program to demonstrate linking
  against the shared FLTK libs but doesn't work yet using VS (MSVC).
  This is no problem for the functionality.
2023-09-12 23:18:46 +02:00
Matthias Melcher
5ef29202ed Fixes Fl_Tabs to be more robust.
No children in Fl_Tabs should no longer crash the draw
method. Also, drawing an Fl_Tabs with no children inside
is now defined and documented.
2023-09-06 17:02:13 +02:00