summaryrefslogtreecommitdiff
path: root/src/drivers/X11
AgeCommit message (Collapse)Author
44 hourswipmaxim nikonov
2 dayswipmaxim nikonov
3 dayswip: forkmaxim nikonov
2026-01-08Add CMake option FLTK_OPTION_PEN_SUPPORT (default: ON)Albrecht Schlosser
This option can be used to disable pen/tablet support if there are build problems on a particular platform or build system (e.g. MinGW) so users can continue to build FLTK 1.5. Users can also choose to disable pen support if they don't need it.
2025-12-19Add Fl_Gl_Window 32 bit depth buffer option.Matthias Melcher
2025-12-13Same change for all other platforms.Matthias Melcher
2025-11-27Fix typo for all but macOSMatthias Melcher
2025-11-27Refactor pen interface into driver system.Matthias Melcher
2025-09-15Complete Wayland-related part of issue #1295ManoloFLTK
2025-08-18Fix: Unexpected FL_ENTER after FL_LEAVE when a subwindow is hidden (#1295)ManoloFLTK
2025-08-06Fix "Fl_Double_Window::make_current() issues with Cairo" - cont'd (#1285)ManoloFLTK
2025-08-05Fix "Fl_Double_Window::make_current() issues with Cairo drawing" (#1285)ManoloFLTK
2025-06-05Restore building for Linux w/o cairo and w/o xftManoloFLTK
2025-05-09Fix erroneous #include directiveManoloFLTK
2025-05-09Remove declaration of Fl_Scalable_Graphics_Driver from FL/Fl_Graphics_Driver.HManoloFLTK
and declare it in non-public header src/Fl_Scalable_Graphics_Driver.H which also declares classes Fl_Font_Descriptor and Fl_Fontdesc.
2025-04-18Fix "heap-use-after-free" in resize_after_screen_change() (#1248)Timothy Lee
When a native window is destroyed, make sure the callback to Fl_WinAPI_Window_Driver::resize_after_screen_change() is removed. Added by Albrecht-S: Thanks for the original fix to Timothy Lee (@timothytylee). src/drivers/X11/Fl_X11_Window_Driver.cxx: equivalent fix for X11 as discussed on GitHub PR #1248
2025-03-07Fix "fltk autotools build does not link against libXft" (#1202)ManoloFLTK
libXft was erroneously present in the link command when using Pango and Cairo. This is fixed by disconnecting the GUI scaling code from use of Xft. This commit also makes sure that when Wayland is used, pkg-config is available on the build machine. This allows to remove from file CMake/options.cmake code that was labelled with "FIXME".
2025-02-24Remove deprecated, commented-out code.ManoloFLTK
This code was used in the past to support a deprecated way to obtain the initial value of the GUI scaling factor for the X11 platform.
2024-11-25 Fix: Graphical glitches on 101 DPI screen (#1138)ManoloFLTK
2024-11-08Fix: X11: test/gl_overlay stale overlay rendering (#1111)ManoloFLTK
2024-10-31Restore Fl_Widget_Surface::draw_decorated_window() under XQuartzManoloFLTK
2024-09-11Fix "fl_read_image() missing right and bottom pixel line" (#1066)ManoloFLTK
2024-07-19Remove unused function after commit 325004fManoloFLTK
2024-07-17Simplify creation of OpenGL contexts under X11 platform (#1005)ManoloFLTK
The previous approach FLTK used to create OpenGL contexts under the X11 platform followed a different code path to create contexts for OpenGL version 3 and above than to create contexts for OpenGL versions 1 or 2. The FLTK code followed exactly "Tutorial: OpenGL 3.0 Context Creation (GLX)" of the official OpenGL wiki, see: https://www.khronos.org/opengl/wiki/Tutorial:_OpenGL_3.0_Context_Creation_(GLX) That code worked OK with Debian 11 and with any tested Linux configurations in a VM running on Apple hardware. However, it failed with Debian 12 and later on native Linux boxes to create GL3 contexts with the FL_DOUBLE flag. That's what issue #1005 reports. A first attempt to fix #1005 followed instructions given at: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glXIntro.xml which supposedly describe how to create OpenGL contexts with GLX. That had no effect on issue #1005. This commit erases all attempts to use OpenGL3-specific calls or even the more modern glXCreateNewContext() function that appears with GLX version 1.3. The committed code uses only OpenGL 1-age functions to create OpenGL contexts for X11 windows. Created contexts follow the "Compatibility Profile" which means they are compatible with both modern OpenGL3-style and legacy OpenGL1/2-style. This appears to fix issue #1005.
2024-04-27X11: simpler code to capture window decoration under xfceManoloFLTK
2024-04-26X11: fix capture of window decoration under xfceManoloFLTK
2024-04-25Fix problem in window titlebar capture under X11.ManoloFLTK
2024-03-18Replace setenv() with putenv() on old systems (+937)Albrecht Schlosser
Add system check for setenv() function in configure and CMake.
2024-03-16Fix memory leak in Fl_X11_Screen_Driver.cxx (#934)Albrecht Schlosser
Fl_X11_Screen_Driver::set_spot() did not free the list of missing fonts returned by XCreateFontSet(). This commit also initializes some variables and reformats code, but the only notable change is to call XFreeStringList(missing_list) if missing_list is not NULL.
2024-02-11 KDE+X11 keyboard stops working after menu display (#904)ManoloFLTK
2024-01-29Fix cached GL context on all platforms (#737)Matthias Melcher
2023-12-21Fix a typo, trailing whitespace, and dependenciesAlbrecht Schlosser
2023-12-19Procedure to instruct FLTK to use given X11 connexion (#149)ManoloFLTK
2023-12-01Fixes name conflict in X11 GL swap_intervalMatthias Melcher
2023-11-30Fixes anonymous union intialisation for C++98Matthias Melcher
2023-11-28Adds OpenGL swap_interval for Wayland and X11.Matthias Melcher
2023-11-26Adds GL swap control for X11Matthias Melcher
2023-11-05Add Fl_Window::maximize() and Fl_Window::un_maximize()ManoloFLTK
2023-10-30Minor simplification in Fl_X11_Window_Driver::flush_double(int)ManoloFLTK
2023-10-07Fix STR 3458: "GLUT compatibility mode segfaults"Albrecht Schlosser
... "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-04-23Replace internal fl_create_offscreen() calls by new Fl_Image_SurfaceManoloFLTK
2023-04-21Fl_Window_Driver::destroy_double_buffer() does not need overridesManoloFLTK
2023-04-14Remove duplication of Pango standard font namesManoloFLTK
And move each array of standard font names to appropriate font-related source file
2023-02-14Rename class Fl_Display_Cairo_Graphics_Driver to Fl_X11_Cairo_Graphics_DriverManoloFLTK
2023-01-13Fix for "Rename Fl_X* Fl_Window::i private class member" (#223)ManoloFLTK
2023-01-12Remove useless #include directivesManoloFLTK
2023-01-09Virtual member Fl_Window_Driver::makeWindow() now returns voidManoloFLTK
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-10Defer opening the display as much as possible (#586)Matthias Melcher
2022-11-30Remove small files fl_XXX_gl_platform_init.cxxManoloFLTK
The single-function content of these files is moved to Fl_XXX_Gl_Window_Driver.cxx.