summaryrefslogtreecommitdiff
path: root/src/drivers/X11
AgeCommit message (Collapse)Author
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.
2022-11-11Remove redundant doxygen docs of fl_beep()Albrecht Schlosser
Also add a comment to all platform driver implementations.
2022-11-07Delete src/drivers/X11/Fl_X11_System_Driver.*ManoloFLTK
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
2022-10-23Make Fl::display(const char *) active also for the Wayland platform.ManoloFLTK
2022-10-16Fix "Fl::focus() changes Fl_Group::current() to null" (#515)Albrecht Schlosser
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-02Clean use of virtual GLContext Fl_Gl_Window_Driver::create_gl_context().ManoloFLTK
2022-09-27Remove use of class Fl_Window_Driver inside libfltk_glManoloFLTK
2022-09-23GL3 support under X11: ask for compatibility profile if possible.ManoloFLTK
2022-09-01Simplify Fl_Window_Driver::screen_num() member functions.ManoloFLTK
2022-09-01Restore building with --disable-xftManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-08-20Remove FL_EXPORT qualifier from platform-specific class declarations.ManoloFLTK
2022-07-16Remove empty lineAlbrecht Schlosser
2022-07-16beep: use maximum loudness for error, otherwise system-defaultLeon Winter
2022-07-16Let beep use system default settingsLeon Winter
Please note that the parameter 'percent' of XBell(3). Given the value of 100, the system defined setting (normally specified via xset) is ignored and the percent of 100 is used instead. When calling the bell from fltk with FL_BEEP_DEFAULT I would expect to get the default (system specified) percent setting.
2022-07-09Fix non-xft build referencing fl_get_font_xfld() (#461)Albrecht Schlosser
This is only one part of issue 461 which describes two build errors on "Raspberry Pi4 bullseye". It turned out that the build didn't find Xft.
2022-06-19Move input method support to Fl_Screen_Driver from Fl_Graphics_DriverManoloFLTK
2022-05-07Change protection levels in classes Fl_XXX_Gl_Window_DriverManoloFLTK