summaryrefslogtreecommitdiff
path: root/src/drivers
AgeCommit message (Collapse)Author
2022-11-07Delete src/drivers/X11/Fl_X11_System_Driver.*ManoloFLTK
2022-11-07Delete src/drivers/Wayland/Fl_Wayland_System_Driver.*ManoloFLTK
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
2022-11-06Check return value from call to gtk_init_check()ManoloFLTK
2022-11-06Allow using native file chooser on Darwin + XQuartz + (homebrew or fink)ManoloFLTK
2022-11-05Wayland/X11 hybrid: use "bool fl_disable_wayland;" declaration.ManoloFLTK
2022-11-05Fix two rare potential bugs (NULL pointer dereferencing)Albrecht Schlosser
Both bugs can happen if a widget doesn't have an associated window() or in similar situations. These fixes returns NULL to prevent crashes. Bugs observed in special test scenarios, not real-life programs.
2022-11-05Wayland: simpler handling of the z-order of subwindowsManoloFLTK
It's not necessary to call wl_subsurface_place_above() because "A new sub-surface is initially added as the top-most in the stack of its siblings and parent."
2022-11-04Wayland DnD: make insertion cursor follow DnD cursor.ManoloFLTK
2022-11-04Wayland DnD: allow cancel with Fl::pushed(0) as under X11 (#525)ManoloFLTK
This is a partial fix of issue #525 that reproduces under Wayland the "unofficial", X11-specific way to cancel a Dnd operation by calling Fl::pushed(0).
2022-11-01Fix trailing whitespaceAlbrecht Schlosser
2022-10-30Wayland platform: fix problem with fl_pie() (#512 - cont'd)ManoloFLTK
2022-10-30Wayland platform: fix problem with fl_pie() (#512 - cont'd)ManoloFLTK
2022-10-25Repair commit e0c3fe9 to fix #521 which destroyed DnD from WaylandManoloFLTK
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-25Fix problem with cursor point of action after FL_PUSH (#521)ManoloFLTK
2022-10-24Include stdint.h may be needed for uint32_t (#522)ManoloFLTK
2022-10-23Make Fl::display(const char *) active also for the Wayland platform.ManoloFLTK
2022-10-20Wayland drag-n-drop: send FL_DND_LEAVE when the dragging mouse leaves the windowManoloFLTK
2022-10-19Wayland drag-n-drop: handle subwindows as other platforms do (#516)ManoloFLTK
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-17Wayland drag-n-drop to Fl_Window: send necessary FL_ENTER event (#516)ManoloFLTK
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-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-12Wayland platform: fix for issue #512 with fl_arc().ManoloFLTK
2022-10-10Remove duplications between Fl_Graphics_Driver and derived classes.ManoloFLTK
2022-10-10 Fl_Cairo_Graphics_Driver: fix Fl_Bitmap drawing whatever the endianness.ManoloFLTK
2022-10-10Fix for issue #511: allow fl_circle() even without calls to ↵ManoloFLTK
fl_begin/end_loop/polygon().
2022-10-09Fl_Cairo_Graphics_Driver: make image drawing correct whatever the host ↵ManoloFLTK
endianness.
2022-10-09Fix issue #510: image transparency is not properly processed.ManoloFLTK
2022-10-05Fix issue #509: Cairo drawing: unexpected behaviourManoloFLTK
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-02Add missing return value to Fl_WinAPI_Gl_Window_Driver::create_gl_context()ManoloFLTK
2022-10-02Clean use of virtual GLContext Fl_Gl_Window_Driver::create_gl_context().ManoloFLTK
2022-10-02macOS: simpler way to delete the GL1 context of widgets-using GL3 windows.ManoloFLTK
2022-10-01macOS: fixed problem in resizing of widget-containing OpenGL 3 window.ManoloFLTK
2022-09-30FLTK widgets in OpenGL 3 windows: rewrite for driver system.ManoloFLTK
2022-09-30macOS: simpler code for auxiliary NSView supporting widgets on a GL3 window.ManoloFLTK
2022-09-29macOS platform: rename Fl_Cocoa_Gl_Window_Driver.cxx to .mmManoloFLTK
2022-09-29Support of FLTK widgets in OpenGL 3 windows - cont'd.ManoloFLTK
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-28macOS: support of FLTK widgets in OpenGL 3 windows - cont'd.ManoloFLTK
This code is OK under macOS 10 9 and 13.
2022-09-27Remove use of class Fl_Window_Driver inside libfltk_glManoloFLTK
2022-09-27Simpler code to support FLTK widgets in macOS OpenGL 3 windows.ManoloFLTK
Also, the application-level code to add widgets to a GL3 window becomes platform-independent.
2022-09-26Replace all calls to sprintf() by calls to snprintf().ManoloFLTK
2022-09-25Add cross-platform support for adding widgets to an OpenGL3-based Fl_Gl_Window.ManoloFLTK
Under non-macOS platforms, the key is to call glUseProgram(0); after having used OpenGL 3 which allows to then use OpenGL 1 and draw FLTK widgets over the OpenGL3 scene. Under macOS, this is impossible because macOS GL3 contexts are not compatible with GL1. The solution implemented here is to create an additional Fl_Gl_Window placed above and sized as the GL3-based window, to give it a non opaque, GL1-based context, and to put the FLTK widgets in that additional window.
2022-09-23GL3 support under X11: ask for compatibility profile if possible.ManoloFLTK
2022-09-22Wayland: fix window closing with titlelbar close button.ManoloFLTK
2022-09-15Make Fl::set_color(r,g,b,a) effective under Wayland and macOS.ManoloFLTK
2022-09-14Improve virtual void* Fl_Gl_Window_Driver::GetProcAddress(procName)ManoloFLTK
2022-09-13Remove forgotten debug code.ManoloFLTK
2022-09-11Fix fl_read_image() under hybrid Wayland/X11 platform.ManoloFLTK
Function fl_read_image() obliges to keep a minimal use of global variable fl_window also under the Wayland platform, even if its type (Window) makes little sense for the hybrid library because it has its X11 value (given by X11/X.h) which is not meaningful for the Wayland leg of the hybrid platform. Virtual member function Fl_Surface_Device::as_image_surface() becomes useless.
2022-09-11Add needed variable for Wayland-only platform.ManoloFLTK
2022-09-09New OPTION_WAYLAND_ONLY for CMake to build pure Wayland platform.ManoloFLTK
2022-09-09Wayland: support going from borderless to bordered window.ManoloFLTK