Commit Graph

6158 Commits

Author SHA1 Message Date
Albrecht Schlosser
c570bd8f96 Fix trailing whitespace 2022-11-01 20:06:22 +01:00
Albrecht Schlosser
414ad1dce7 Remove unnecessary include files, update dependencies 2022-11-01 20:04:37 +01:00
Albrecht Schlosser
a09b0e2357 Remove reversal of children in Fl_Group::clear()
See implementation note in src/Fl_Group.cxx: Fl_Group::clear().
2022-11-01 17:25:07 +01:00
Matthias Melcher
93ea93ee2b
Fluid support for Fl_Flex (#523) and some Fl_Flex improvements
* Adding Fluid support for Fl_Flex, margins, and gap.

* Fluid Fl_Flex mostly working. Fixed in Fl_Flex::set_size().

* Fluid Flex live mode works, interactive dragging works

* Fluid Flex: adding check box for fixed children

* Fluid Flex: visual flexibility indicator in guides.

* Fluid Flex: bug in generated code.

* Fix formatting

* Fixing Tooltip, fixing resize issue PR #518.

* Removing unused variables.

Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2022-11-01 13:30:05 +01:00
ManoloFLTK
31ec6f623a Wayland platform: fix problem with fl_pie() (#512 - cont'd) 2022-10-30 11:46:08 +01:00
ManoloFLTK
7403e333da Wayland platform: fix problem with fl_pie() (#512 - cont'd) 2022-10-30 11:33:10 +01:00
Albrecht Schlosser
a918292547 Fix removal and deletion of the resizable() of Fl_Group
If the resizable() of an Fl_Group is deleted it is automatically
removed from the group.

New: to avoid dangling resizable() pointers the resizable widget
is set to the group itself.
2022-10-28 17:37:18 +02:00
ManoloFLTK
f9acdb6edb Repair commit e0c3fe9 to fix #521 which destroyed DnD from Wayland
It turns out it's necessary to memorize 2 event serial numbers :
- serial changed at each pointer and key event;
- pointer_enter_serial changed when pointer enters a surface
because this one and not any other is needed for exact cursor changes
by wl_pointer_set_cursor() in do_set_cursor().
2022-10-25 19:08:12 +02:00
ManoloFLTK
84cdc1ba12 Fix drag-n-drop from X11 FLTK app to Wayland app (#519) 2022-10-25 15:00:51 +02:00
ManoloFLTK
e0c3fe939f Fix problem with cursor point of action after FL_PUSH (#521) 2022-10-25 10:44:36 +02:00
ManoloFLTK
b0d4c2fd4c Include stdint.h may be needed for uint32_t (#522) 2022-10-24 05:30:33 +02:00
ManoloFLTK
e69d45cde8 Make Fl::display(const char *) active also for the Wayland platform. 2022-10-23 12:19:44 +02:00
Albrecht Schlosser
da11526bb8 Improve and clarify documentation of timeout functions
Some functions didn't document the handling of arguments properly,
particularly Fl::has_timeout() and Fl::remove_timeout().

This is now fixed by documenting the correct behavior that was
preserved (re-implemented) from FLTK 1.3.x in the new class Fl_Timeout.

Unfortunately there have been some inconsistencies (likely unexpected
behavior) which have been preserved and which are now documented.
2022-10-20 19:36:03 +02:00
ManoloFLTK
eca61ab98a Wayland drag-n-drop: send FL_DND_LEAVE when the dragging mouse leaves the window 2022-10-20 08:30:54 +02:00
ManoloFLTK
24c63c0774 Wayland drag-n-drop: handle subwindows as other platforms do (#516)
The d-n-d target window is now always the top-level window even if the
mouse is over a subwindow. That's what all other platforms do.
Global var fl_dnd_target_surface memorise what's the current d-n-d target
surface and follows changes from top-window to subwindows.
2022-10-19 12:28:04 +02:00
ManoloFLTK
857462529b Allow DnD from Wayland FLTK app to X11 FLTK app (#516) 2022-10-17 19:16:01 +02:00
ManoloFLTK
a944758aea Wayland drag-n-drop to Fl_Window: send necessary FL_ENTER event (#516)
Drag-n-drop under Wayland was OK in general except when the drop target is an Fl_Window
because the belowmouse object is not set in this configuration.
Processing an FL_ENTER event before the FL_DND_RELEASE event fixes that.
2022-10-17 10:32:41 +02:00
Albrecht Schlosser
723d8caa9d Fix "Fl::focus() changes Fl_Group::current() to null" (#515)
This issue is caused by setting `Fl_Group::current(0);` in
Fl_Window::show(), i.e. in Fl_X::make_xid(..) in an attempt to
fix a "very common user bug: forgot end()". As long as this is
done, this commit fixes the issue.

For details see GitHub issue #515.
2022-10-16 23:23:04 +02:00
ManoloFLTK
260a446609 macOS + homebrew: restore building with CMake's OPTION_APPLE_X11
These option combinations work:
-DOPTION_APPLE_X11
-DOPTION_APPLE_X11 -DOPTION_USE_CAIRO

But
-DOPTION_APPLE_X11 -DOPTION_USE_PANGO
is not possible because homebrew doesn't provide the pangoxft package.
2022-10-16 08:29:59 +02:00
ManoloFLTK
531ab614e2 Make sure display is open when using native file chooser (#514) 2022-10-14 15:38:22 +02:00
ManoloFLTK
42887c0619 Fix regression in "configure --enable-shared" introduced at c96a4f3 2022-10-13 09:31:49 +02:00
ManoloFLTK
87c8b98a98 Wayland platform: fix for issue #512 with fl_arc(). 2022-10-12 06:12:07 +02:00
ManoloFLTK
1df79078b7 Remove duplications between Fl_Graphics_Driver and derived classes. 2022-10-10 16:58:48 +02:00
ManoloFLTK
e4709b837d Fl_Cairo_Graphics_Driver: fix Fl_Bitmap drawing whatever the endianness. 2022-10-10 11:31:02 +02:00
ManoloFLTK
7fa677f93e Fix for issue #511: allow fl_circle() even without calls to fl_begin/end_loop/polygon(). 2022-10-10 07:08:00 +02:00
ManoloFLTK
cae2b2883b Fl_Cairo_Graphics_Driver: make image drawing correct whatever the host endianness. 2022-10-09 22:45:58 +02:00
Albrecht Schlosser
2a856dafd4 Remove superfluous center alignment from images
Doxygen uses a <div> with center alignment for images, hence
adding HTML center alignment for image is not only superfluous
but was also inconsistent.

Also removed some more unnecessary HTML tags, updated copyright year.
2022-10-09 19:35:20 +02:00
ManoloFLTK
1a5d6572e9 Fix issue #510: image transparency is not properly processed. 2022-10-09 17:43:06 +02:00
Albrecht Schlosser
4d17cf310d Fix documentation of Fl_Timeout::insert() 2022-10-09 14:30:32 +02:00
ManoloFLTK
e9719e5416 Update window icon-related doc in platform-specific section. 2022-10-06 15:07:39 +02:00
ManoloFLTK
5f189aa213 Make Windows-specific HICON-using functions visible in doc. 2022-10-06 13:15:16 +02:00
ManoloFLTK
6732044a07 Fix use of several FLTK widgets above an GL scene.
The code failed with 2 or more widgets when FLTK would trigger
partial redraws of the widgets, unless the Fl_Gl_Window was FL_DAMAGE_ALL.

This commit also adds a second FLTK widget to example/OpenGL3test to
check this multiple widget situation, and fixes an error where operator ! was used
instead of ~ .
2022-10-06 08:43:09 +02:00
ManoloFLTK
206d9b17e0 Fix issue #509: Cairo drawing: unexpected behaviour
This commit fixes " "drawing an fl_pie() with dimension 1x1".
But it does not change "drawing fl_line() with begin position = end position does not show"
because the same behaviour is observed with Windows and macOS.
2022-10-05 08:52:30 +02:00
ManoloFLTK
30efed7fd4 Revert 75016cb because it doesn't work well with macOS < 13.0
The problem is visible with test/tile when moving the sub window's border.
This also fixes issue #508
2022-10-03 10:21:39 +02:00
ManoloFLTK
4b70bc32c5 Add missing return value to Fl_WinAPI_Gl_Window_Driver::create_gl_context() 2022-10-02 21:37:35 +02:00
ManoloFLTK
1fc23f8506 Clean use of virtual GLContext Fl_Gl_Window_Driver::create_gl_context(). 2022-10-02 13:35:53 +02:00
ManoloFLTK
abc6709e8e macOS: simpler way to delete the GL1 context of widgets-using GL3 windows. 2022-10-02 08:40:38 +02:00
ManoloFLTK
63a7942a66 macOS: support 5 more keys as Fl_Sys_Menu_Bar item shortcuts. 2022-10-01 13:28:52 +02:00
ManoloFLTK
4196daa77e macOS: fixed problem in resizing of widget-containing OpenGL 3 window. 2022-10-01 07:31:42 +02:00
ManoloFLTK
0627213a82 FLTK widgets in OpenGL 3 windows: rewrite for driver system. 2022-09-30 19:25:23 +02:00
ManoloFLTK
a61d8fb682 macOS: simpler code for auxiliary NSView supporting widgets on a GL3 window. 2022-09-30 16:20:51 +02:00
ManoloFLTK
4f6965d39f Support of FLTK widgets in OpenGL 3 windows under Windows. 2022-09-30 15:53:05 +02:00
ManoloFLTK
75016cb853 macOS: implement (BOOL)[FLView isOpaque] to improve drawing performance. 2022-09-30 09:03:54 +02:00
ManoloFLTK
63dcdcec0a macOS: support FL_Up,FL_Down,FL_Left,FL_Right system menu item shortcuts 2022-09-30 07:36:07 +02:00
ManoloFLTK
c96a4f3141 macOS platform: rename Fl_Cocoa_Gl_Window_Driver.cxx to .mm 2022-09-29 16:25:14 +02:00
ManoloFLTK
da66e21e1d Support of FLTK widgets in OpenGL 3 windows - cont'd.
This commit allows to switch between FL_DOUBLE / FL_SINGLE modes
in widget-containing GL3 windows.
Demo program examples/OpenGL3test is modified to show FLTK widgets
even if the platform does not support OpenGL 3.
2022-09-29 09:39:21 +02:00
ManoloFLTK
c2efb0d849 macOS: support of FLTK widgets in OpenGL 3 windows - cont'd.
This code is OK under macOS 10 9 and 13.
2022-09-28 17:06:00 +02:00
ManoloFLTK
7d58e23854 macOS: add necessary setWantsBestResolutionOpenGLSurface:YES message. 2022-09-28 08:23:36 +02:00
ManoloFLTK
3225afaeec Remove use of class Fl_Window_Driver inside libfltk_gl 2022-09-27 16:51:35 +02:00
ManoloFLTK
3ba09047e2 Use PR #507 by @ggarra13 to fix issue #85. 2022-09-27 14:48:22 +02:00