ManoloFLTK
66860c2e83
Improve "Implementation note about menu windows under Wayland"
2023-01-12 21:27:17 +01:00
ManoloFLTK
b375d07d32
New static member Fl_Window *Fl_Wayland_Window_Driver::previous_floatingtitle
2023-01-12 11:58:53 +01:00
ManoloFLTK
62e33973a1
New static member bool Fl_Wayland_Window_Driver::tall_popup
2023-01-12 11:36:20 +01:00
ManoloFLTK
b8d9f2282f
Remove useless #include directives
2023-01-12 10:33:41 +01:00
ManoloFLTK
86a6d4e3d3
Wayland menus: remove useless Fl_Window_Driver::extra_menutitle()
2023-01-12 08:28:06 +01:00
ManoloFLTK
ccfc479e43
Fix "Wayland: compilation warnings" ( #649 )
2023-01-11 23:53:34 +01:00
ManoloFLTK
9210e3efbf
Wayland: Further improved implementation of menu windows
...
Tall menus now work also as single popup window and show the correct selected item.
Groups of popups with a menutitle, an associated menuwindow, and possibly submenus
are constructed around the menuwindow, the menutitle being a child popup of the
menuwindow. This positions these popup groups better than before.
2023-01-11 17:40:38 +01:00
ManoloFLTK
dc4c443bfc
Fix ";" inadvertently written ","
2023-01-11 09:36:54 +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
13ce93330a
Wayland: fix Fl::event_key(int)
2023-01-09 10:06:29 +01: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
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
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
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
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
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
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
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
ManoloFLTK
bb96cfac44
Wayland: remove un-necessary Fl_Wayland_Gl_Window_Driver::gl_event_queue
2022-12-28 08:55:02 +01:00
ManoloFLTK
86adfe0dbe
Wayland: simplify function struct wl_display *fl_wl_display()
2022-12-28 08:43:22 +01:00
ManoloFLTK
e73b2da5e4
Wayland: Dropdown menu moves when navigated ( #613 ) - cont'd
...
Menu windows containing sub-menus are now processed differently.
2022-12-27 13:15:31 +01:00
ManoloFLTK
694df9d7e6
Wayland: Fix for "Dropdown menu moves when navigated" ( #613 )
...
This commit uses Wayland popup positionning methods to handle common
menu windows and prevents them from expanding below display bottom or above top.
The previous algorithm remains in place for menu windows higher than
the display height. Further changes for these big menus may come later.
2022-12-26 08:13:27 +01:00
ManoloFLTK
b26db74dd0
Fix for "Fatal error while communicating with the Wayland server" ( #610 )
...
This commit should fix: once the mouse leaves the app window area and returns back to it
(app loses focus and gets it again) the crash happens.
2022-12-24 11:13:02 +01:00
ManoloFLTK
84c5992d9f
Complete Fl_Cairo_Graphics_Driver::restore_clip()
...
The driver's clip_ member was not updated to the new Cairo clip state
which rendered function Fl_Cairo_Graphics_Driver::clip_box() inaccurate.
2022-12-19 10:22:22 +01:00
ManoloFLTK
5b6d5f9279
Remove further unused code after 12da87b
2022-12-17 19:12:53 +01:00
ManoloFLTK
2c1bb09578
Remove useless Fl_System_Driver members after 12da87b
2022-12-17 18:20:53 +01:00
ManoloFLTK
8dcd121d44
Text positioning different in 1.4.x vs 1.3.x ( #568 ) - cont'd
...
@wcout reports that we get better results if function pango_font_metrics_get_height()
is not used until version 1.50.6 and above of libpango. The difference is specially visible
with underscore characters in unscaled, standard DPI displays. This commit does that.
2022-12-10 19:00:09 +01:00
Matthias Melcher
a23c77c5a1
Defer opening the display as much as possible ( #586 )
2022-12-10 16:21:07 +01:00
Matthias Melcher
60d6e9be14
Fixes some VC compiler warnings
2022-12-10 16:03:29 +01:00
Albrecht Schlosser
8dea6505e9
Windows: fix memory leak caused by RegisterDragDrop ( #569 )
...
- call RevokeDragDrop() when the window is hidden
- do not delete the *static* FLDropTarget object
2022-12-10 15:03:30 +01:00
Matthias Melcher
5673072271
Fixes OpenGL complex polygons when scaling ( #576 )
...
Also fixes gap()
2022-12-10 13:10:36 +01:00
ManoloFLTK
eb2572deaf
Add new Wayland-specific fl_wl_compositor() function
2022-12-09 17:06:35 +01:00
Albrecht Schlosser
823dc5acc4
Fix compilation warning, update dependencies
...
Warning: variable ‘j’ set but not used [-Wunused-but-set-variable]
2022-12-08 19:09:18 +01:00
ManoloFLTK
b9a9f7f10c
Simpler prototype of Fl_Wayland_Graphics_Driver::buffer_commit() member - cont'd
2022-12-08 15:22:08 +01:00
ManoloFLTK
503492db78
Simplify prototype of Fl_Wayland_Graphics_Driver::buffer_commit() member
2022-12-08 10:16:06 +01:00
ManoloFLTK
cbd37a2870
Wayland: fix progressive drawing as in test/mandelbrot
2022-12-07 08:46:50 +01:00
ManoloFLTK
90c7e6bcb1
Fix issue #537 without damaging test/mandelbrot
2022-12-06 14:46:11 +01:00
Matthias Melcher
0d485b34a2
Fixing fl_complex_polygon() compilation for WIN32 ( #571 )
2022-12-05 19:57:30 +01:00
Matthias Melcher
9f92972729
Implement fl_complex_polygon() for OpenGL ( #570 )
2022-12-05 19:27:12 +01:00
ManoloFLTK
a8923a0fd4
Wayland: remove regression in mandelbrot introduced by 1a5d657
...
The panel was drawn solid black when test/mandelbrot was unfocussed.
2022-12-04 12:29:24 +01:00
ManoloFLTK
1b938ab8b1
Fl_Cairo_Graphics_Driver: simpler way to construct font from name+size
2022-12-04 09:31:24 +01:00
ManoloFLTK
70e19a9e00
Fix dotted line drawing under Cairo graphics driver
2022-12-03 06:38:25 +01:00
ManoloFLTK
e5c3caeb6b
Fix text drawn by pango is offset +1 pixel on x and y) ( #568 )
2022-12-02 16:14:38 +01:00
Matthias Melcher
bf825f8ebd
Add a unit test for drawing complex shapes ( #565 )
2022-11-30 22:40:52 +01:00