summaryrefslogtreecommitdiff
path: root/src/drivers
AgeCommit message (Collapse)Author
2023-01-16Wayland menus: support tall popup menu + Sway supportManoloFLTK
2023-01-16Wayland menus: support tall popup menuManoloFLTK
2023-01-15Rename static member Fl_Wayland_Window_Driver::tall_popup to new_popupManoloFLTK
The new name reflects better the role of this bool member variable. Also, add explanatory comments about the use of this variable.
2023-01-14Extend commit a4b33f8 to other uses of function convert_crlf()ManoloFLTK
Helper function convert_crlf() from file fl_wayland_clipboard_dnd.cxx has been repaired by commit a4b33f8 (13 jan 2023). But the same function was also in file Fl_cocoa.mm. This commit moves the repaired code to class Fl_Screen_Driver and has both fl_wayland_clipboard_dnd.cxx and Fl_cocoa.mm use it.
2023-01-14Add missing initialisation after dynamic memory allocationManoloFLTK
2023-01-13Fix set_fonts() in Xlib/xft and Cairo Graphics_DriverAlbrecht Schlosser
src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx: - fix font_name_process() out of bounds memory access - unify/align font_name_process() code (see also Xlib/xft) - fix font name string allocation src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx - unify/align font_name_process() code (see also Cairo_Graphics) - fix font name string allocation Todo: move common code to Fl_Graphics_Driver or another common file.
2023-01-13Fix for "Rename Fl_X* Fl_Window::i private class member" (#223)ManoloFLTK
2023-01-13Wayland menus: add missing use of scaling factorManoloFLTK
2023-01-13Wayland: Fix "heap-buffer-overflow" errorAlbrecht Schlosser
- replace strchr() with memchr() because buffer is not nul-terminated - fix '*(p+1)' potentially accessing memory out of bounds This fix also prevents - multiple memmove() calls - multiple searches from the beginning of the string
2023-01-12Wayland Fix "Error "heap-use-after-free" when scaling twice" (#650)ManoloFLTK
2023-01-12Improve "Implementation note about menu windows under Wayland"ManoloFLTK
2023-01-12New static member Fl_Window *Fl_Wayland_Window_Driver::previous_floatingtitleManoloFLTK
2023-01-12New static member bool Fl_Wayland_Window_Driver::tall_popupManoloFLTK
2023-01-12Remove useless #include directivesManoloFLTK
2023-01-12Wayland menus: remove useless Fl_Window_Driver::extra_menutitle()ManoloFLTK
2023-01-11 Fix "Wayland: compilation warnings" (#649)ManoloFLTK
2023-01-11Wayland: Further improved implementation of menu windowsManoloFLTK
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-11Fix ";" inadvertently written ","ManoloFLTK
2023-01-09Virtual member Fl_Window_Driver::makeWindow() now returns voidManoloFLTK
2023-01-09Wayland: Possibly better way to complete popup constructionManoloFLTK
2023-01-09Wayland: fix Fl::event_key(int)ManoloFLTK
2023-01-08 Fix "Xrender blurs adjacent images with bilinear scaling" (#633)ManoloFLTK
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-08Wayland: Improved implementation of menu windowsManoloFLTK
2023-01-07 Fix for "Shift-Ctrl-C shortcut in fluid not working on newer linux OS's" (#637)ManoloFLTK
2023-01-04Cairo/Pango: compute character widths fast and string widths accuratelyManoloFLTK
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-02Fix missing include file for Visual StudioAlbrecht Schlosser
... if GDIPLUS is disabled. Thanks to Winfried Szukalski for reporting this.
2023-01-01FLUID refactor and macOS warnings removed (#623)Matthias Melcher
P renamed to g_project class Project renamed to class Fluid_Project fixes macOS type cast warnings
2023-01-01Add a missing FL_OVERRIDE flagAlbrecht Schlosser
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
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-30Fix misleading indentation (warning: [-Wmisleading-indentation])Albrecht Schlosser
2022-12-30Wayland+FreeBSD: fix "test/mandelbrot crashes on rightclick" (#618)ManoloFLTK
2022-12-28Fix for Two compiler warnings (#615) - cont'dManoloFLTK
The Page_Format and Page_Layout enums have been conceived for them to be combinable into a single int value.
2022-12-28 Fix compiler warnings on Windows with mingw-w64 CMAKE_CXX_STANDARD=20 (#615)ManoloFLTK
2022-12-28Wayland: remove un-needed #include directivesManoloFLTK
2022-12-28Wayland: remove un-necessary Fl_Wayland_Gl_Window_Driver::gl_event_queueManoloFLTK
2022-12-28Wayland: simplify function struct wl_display *fl_wl_display()ManoloFLTK
2022-12-27Wayland: Dropdown menu moves when navigated (#613) - cont'dManoloFLTK
Menu windows containing sub-menus are now processed differently.
2022-12-26Wayland: Fix for "Dropdown menu moves when navigated" (#613)ManoloFLTK
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-24Fix for "Fatal error while communicating with the Wayland server" (#610)ManoloFLTK
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-19Complete Fl_Cairo_Graphics_Driver::restore_clip()ManoloFLTK
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-17Remove further unused code after 12da87bManoloFLTK
2022-12-17Remove useless Fl_System_Driver members after 12da87bManoloFLTK
2022-12-10Text positioning different in 1.4.x vs 1.3.x (#568) - cont'dManoloFLTK
@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-10Defer opening the display as much as possible (#586)Matthias Melcher
2022-12-10Fixes some VC compiler warningsMatthias Melcher
2022-12-10Windows: fix memory leak caused by RegisterDragDrop (#569)Albrecht Schlosser
- call RevokeDragDrop() when the window is hidden - do not delete the *static* FLDropTarget object
2022-12-10Fixes OpenGL complex polygons when scaling (#576)Matthias Melcher
Also fixes gap()
2022-12-09Add new Wayland-specific fl_wl_compositor() functionManoloFLTK
2022-12-08Fix compilation warning, update dependenciesAlbrecht Schlosser
Warning: variable ā€˜j’ set but not used [-Wunused-but-set-variable]
2022-12-08 Simpler prototype of Fl_Wayland_Graphics_Driver::buffer_commit() member - ↵ManoloFLTK
cont'd